JavaScript 全局對象參考手冊
全局屬性和函數(shù)可用于所有內(nèi)建的 JavaScript 對象。
頂層函數(shù)(全局函數(shù))
FF: Firefox, IE: Internet Explorer
| 函數(shù) | 描述 | FF | IE |
|---|---|---|---|
| decodeURI() | 解碼某個(gè)編碼的 URI。 | 1 | 5.5 |
| decodeURIComponent() | 解碼一個(gè)編碼的 URI 組件。 | 1 | 5.5 |
| encodeURI() | 把字符串編碼為 URI。 | 1 | 5.5 |
| encodeURIComponent() | 把字符串編碼為 URI 組件。 | 1 | 5.5 |
| escape() | 對字符串進(jìn)行編碼。 | 1 | 3 |
| eval() | 計(jì)算 JavaScript 字符串,并把它作為腳本代碼來執(zhí)行。 | 1 | 3 |
| getClass() | 返回一個(gè) JavaObject 的 JavaClass。 | ||
| isFinite() | 檢查某個(gè)值是否為有窮大的數(shù)。 | 1 | 4 |
| isNaN() | 檢查某個(gè)值是否是數(shù)字。 | 1 | 3 |
| Number() | 把對象的值轉(zhuǎn)換為數(shù)字。 | 1 | |
| parseFloat() | 解析一個(gè)字符串并返回一個(gè)浮點(diǎn)數(shù)。 | 1 | 3 |
| parseInt() | 解析一個(gè)字符串并返回一個(gè)整數(shù)。 | 1 | 3 |
| String() | 把對象的值轉(zhuǎn)換為字符串。 | 1 | |
| unescape() | 對由 escape() 編碼的字符串進(jìn)行解碼。 | 1 | 3 |
頂層屬性(全局屬性)
FF: Firefox, IE: Internet Explorer
| 方法 | 描述 | FF | IE |
|---|---|---|---|
| Infinity | 代表正的無窮大的數(shù)值。 | 1 | 4 |
| java | 代表 java.* 包層級的一個(gè) JavaPackage。 | ||
| NaN | 指示某個(gè)值是不是數(shù)字值。 | 1 | 4 |
| Packages | 根 JavaPackage 對象。 | ||
| undefined | 指示未定義的值。 | 1 | 5.5 |
全局對象描述
全局對象是預(yù)定義的對象,作為 JavaScript 的全局函數(shù)和全局屬性的占位符。通過使用全局對象,可以訪問所有其他所有預(yù)定義的對象、函數(shù)和屬性。全局對象不是任何對象的屬性,所以它沒有名稱。
在頂層 JavaScript 代碼中,可以用關(guān)鍵字 this 引用全局對象。但通常不必用這種方式引用全局對象,因?yàn)槿謱ο笫亲饔糜蜴湹念^,這意味著所有非限定性的變量和函數(shù)名都會(huì)作為該對象的屬性來查詢。例如,當(dāng)JavaScript 代碼引用 parseInt() 函數(shù)時(shí),它引用的是全局對象的 parseInt 屬性。全局對象是作用域鏈的頭,還意味著在頂層 JavaScript 代碼中聲明的所有變量都將成為全局對象的屬性。
全局對象只是一個(gè)對象,而不是類。既沒有構(gòu)造函數(shù),也無法實(shí)例化一個(gè)新的全局對象。
在 JavaScript 代碼嵌入一個(gè)特殊環(huán)境中時(shí),全局對象通常具有環(huán)境特定的屬性。實(shí)際上,ECMAScript 標(biāo)準(zhǔn)沒有規(guī)定全局對象的類型,JavaScript 的實(shí)現(xiàn)或嵌入的 JavaScript 都可以把任意類型的對象作為全局對象,只要該對象定義了這里列出的基本屬性和函數(shù)。例如,在允許通過 LiveConnect 或相關(guān)的技術(shù)來腳本化 Java 的 JavaScript 實(shí)現(xiàn)中,全局對象被賦予了這里列出的 java 和 Package 屬性以及 getClass() 方法。而在客戶端 JavaScript 中,全局對象就是 Window 對象,表示允許 JavaScript 代碼的 Web 瀏覽器窗口。
例子
在 JavaScript 核心語言中,全局對象的預(yù)定義屬性都是不可枚舉的,所有可以用 for/in 循環(huán)列出所有隱式或顯式聲明的全局變量,如下所示:
var variables = "";
for (var name in this)
{
variables += name + "<br />";
}
document.write(variables);