iT邦幫忙

0

JavaScript最基本提供的函數有哪些?

最近開始接觸Javascript,公司都是載好JQuery或是其他套件,
想請問如果一個單純的html不載入任何frameworks時,Javascript所提供的基本架構該從何參考?

看更多先前的討論...收起先前的討論...
fillano iT邦超人 1 級 ‧ 2013-07-19 07:33:06 檢舉
基本上JavaScript是一個「host depend」的語言。除了核心物件與幾個global物件提供的函數,其它功能都是透過添加到global物件的物件或是函數等提供的。

Javascript 有幾個基本的型別:字串、數字、布林值、null、undefined,其他的都是物件。核心物件有:
1. Global物件,在瀏覽器環境中,就是window物件。不過在核心部分就只有幾個函數可以使用。
2. Object
3. Boolean
4. String
5. Number
6. Function
7. Date
8. Math
9. RegExp

在瀏覽器環境中附加到global物件的功能,主要是HTML Dom相關的東西。
fillano iT邦超人 1 級 ‧ 2013-07-19 08:03:41 檢舉
漏了... 10. Array...

剛剛吃早餐,用iPad mini回,不太順手XD...現在用NB繼續補充一下好了。

上面的Boolean, String, Number都是包覆物件,當你使用字串、布林值、數字時,系統會自動用相對應的包覆物件包裝,所以你有一些額外的功能可以使用。

總之,由底層往上的結構就像:
1. string
2. number
3. boolean
4. null
5. undefined
6. object
6.1 Object
6.2 Global
6.2.1 HTML DOM, other APIs
6.2.1.1 jQuery
6.3 Array
6.4 Function
6.5 String
6.6 Number
6.7 Date
6.8 Math
6.9 RegExp

在瀏覽器環境中,像jQuery這些Library,大致上就架構在HTML DOM上。當然也有其他Library提供各式各樣的功能,例如加強Javascript的一些操作特性等等。
fillano iT邦超人 1 級 ‧ 2013-07-19 09:43:12 檢舉
Global物件的成員:
NaN
Infinity
undefined
eval()
parseInt()
parseFloat()
decodeURI()
decodeURIComponent()
encodeURI()
encodeURIComponent()
//還有其他物件的constructor例如Object, Function等等
fillano iT邦超人 1 級 ‧ 2013-07-19 09:46:41 檢舉
對了ECMA-5之後加入了一個新物件,所以有11. JSON。另外其實有一些比較少用到的物件,主要是用來處理錯誤。

至於其他物件有哪些成員可以使用,請你自己找一找吧。
簽名簽名簽名
筆記筆記筆記
感謝fillano的講解,小弟受益良多筆記
大概整理一下看完後所理解以及延伸的一些問題。
1. JavaScript為ECMA所制定(今天才知道Orz),而後續編制也是由他們為JavaScript核心作加強?
2. 而像是string, object, array, function... 為ECMA所提供的標準物件。
3. 像是jquery, node.js... 這些library是基於這些核心物件,所開發出來的API?

如果有理解錯誤的地,還請多多包涵。筆記筆記筆記
fillano iT邦超人 1 級 ‧ 2013-08-02 00:46:16 檢舉
1. 的話會牽涉到歷史,不過以目前來說的話,「是」
2. 是的
3. 核心物件只要是Javascript執行環境一定會有的。其他的功能就看要加什麼,不過一定是加在執行環境的global。例如在瀏覽器中,global是window物件,document等則是由瀏覽器的執行環境提供的。jQuery則是架構在這之上,純粹由Javascript搭配核心與瀏覽器提供的物件與函數等做出來的。Chrome瀏覽器的Javascript引擎叫做V8,你可以用C++來開發物件或函數,然後加global到裡面去,這樣就成為另外一個Javascript的執行環境,node.js就是這樣的東西。
fillano iT邦超人 1 級 ‧ 2013-08-02 01:02:51 檢舉
舉例來說,瀏覽器提供了document.getElementById()、document.getElementsByTagName()等讓你查詢html element,jQuery內部則包裝了這些方法,讓你用更多但是一致的方式查詢html element,並且補齊不同瀏覽器的功能。node.js提供的功能,就像是document.getElementById()這個層次的,你可以利用這些功能,做出像是express這樣的web server framework,或是各種不同的工具。

1 個回答

8
player
iT邦大師 1 級 ‧ 2013-07-18 18:07:32
最佳解答

我要發表回答

立即登入回答