全域屬性和函數可用於所有內建的 JavaScript 對象。
頂層函數(全域函數)
FF: Firefox, IE: Internet Explorer
函數 |
描述 |
FF |
IE |
decodeURI() |
解碼某個編碼的 URI。 |
1 |
5.5 |
decodeURIComponent() |
解碼一個編碼的 URI 組件。 |
1 |
5.5 |
encodeURI() |
把字串編碼為 URI。 |
1 |
5.5 |
encodeURIComponent() |
把字串編碼為 URI 組件。 |
1 |
5.5 |
escape() |
對字串進行編碼。 |
1 |
3 |
eval() |
計算 JavaScript 字串,並把它作為指令碼代碼來執行。 |
1 |
3 |
getClass() |
返回一個 JavaObject 的 JavaClass。 |
|
|
isFinite() |
檢查某個值是否為有窮大的數。 |
1 |
4 |
isNaN() |
檢查某個值是否是數字。 |
1 |
3 |
Number() |
把對象的值轉換為數字。 |
1 |
|
parseFloat() |
解析一個字串並返回一個浮點數。 |
1 |
3 |
parseInt() |
解析一個字串並返回一個整數。 |
1 |
3 |
String() |
把對象的值轉換為字串。 |
1 |
|
unescape() |
對由 escape() 編碼的字串進行解碼。 |
1 |
3 |
頂層屬性(全域屬性)
FF: Firefox, IE: Internet Explorer
方法 |
描述 |
FF |
IE |
Infinity |
代表正的無窮大的數值。 |
1 |
4 |
java |
代表 java.* 包層級的一個 JavaPackage。 |
|
|
NaN |
指示某個值是不是數字值。 |
1 |
4 |
Packages |
根 JavaPackage 對象。 |
|
|
undefined |
指示未定義的值。 |
1 |
5.5 |
全域對象描述
全域對象是預定義的對象,作為 JavaScript 的全域函數和全域屬性的預留位置。通過使用全域對象,可以訪問所有其他所有預定義的對象、函數和屬性。全域對象不是任何對象的屬性,所以它沒有名稱。
在頂層 JavaScript 代碼中,可以用關鍵字 this 引用全域對象。但通常不必用這種方式引用全域對象,因為全域對象是範圍鏈的頭,這意味著所有非限定性的變數和函數名都會作為該對象的屬性來查詢。例如,當JavaScript 代碼引用 parseInt() 函數時,它引用的是全域對象的 parseInt 屬性。全域對象是範圍鏈的頭,還意味著在頂層 JavaScript 代碼中聲明的所有變數都將成為全域對象的屬性。
全域對象只是一個對象,而不是類。既沒有建構函式,也無法執行個體化一個新的全域對象。
在 JavaScript 代碼嵌入一個特殊環境中時,全域對象通常具有環境特定的屬性。實際上,ECMAScript 標準沒有規定全域對象的類型,JavaScript 的實現或嵌入的 JavaScript 都可以把任意類型的對象作為全域對象,只要該對象定義了這裡列出的基本屬性和函數。例如,在允許通過 LiveConnect 或相關的技術來指令碼化 Java 的 JavaScript 實現中,全域對象被賦予了這裡列出的 java 和 Package 屬性以及 getClass() 方法。而在用戶端 JavaScript 中,全域對象就是 Window 對象,表示允許 JavaScript 代碼的 網頁瀏覽器視窗。
例子
在 JavaScript 核心語言中,全域對象的預定義屬性都是不可枚舉的,所有可以用 for/in 迴圈列出所有隱式或顯式聲明的全域變數,如下所示:
var variables = "";
for (var name in this)
{
variables += name + "<br/>";
}
document.write(variables);