做(zuò)自(zì)由與創造的先行(xíng)者

JavaScript 全局

JavaScript中文手冊

JavaScript 全局屬性和(hé)函數(shù)可(kě)用于所有內(nèi)置 JavaScript 對象。

JavaScript 全局屬性

屬性 描述
Infinity 表示正/負無窮大的數(shù)值。
NaN “非數(shù)字”("Not-a-Number")值。
undefined 表示變量尚未賦值。

JavaScript 全局函數(shù)

函數(shù) 描述
decodeURI() 解碼 URI。
decodeURIComponent() 解碼 URI 組件。
encodeURI() 對 URI 進行(xíng)編碼。
encodeURIComponent() 對 URI 組件進行(xíng)編碼。
escape() 在 1.5 版中已棄用。請(qǐng)使用 encodeURI() 或 encodeURIComponent() 代替。
eval() 評估字符串并像腳本代碼一(yī)樣執行(xíng)它。
isFinite() 确定值是否是有限的合法數(shù)。
isNaN() 确定值是否是非法數(shù)字。
Number() 将對象的值轉換為(wèi)數(shù)字。
parseFloat() 解析字符串并返回浮點數(shù)。
parseInt() 解析字符串并返回整數(shù)。
String() 将對象的值轉換為(wèi)字符串。
unescape() 在 1.5 版中已棄用。請(qǐng)使用 decodeURI() 或 decodeURIComponent() 代替。

函數(shù)還是方法?

調用上(shàng)面列表中的全局函數(shù)而不是全局方法是有意義的,因為(wèi)函數(shù)是全局調用的,而非任何對象。

無論如(rú)何,您也可(kě)以調用這(zhè)些函數(shù)方法,因為(wèi)它們是其運行(xíng)環境的全局對象的方法。在 Web 浏覽器中,全局對象是浏覽器窗口。那(nà)麽 isNaN() 其實就是一(yī)個窗口方法:window.isNaN()。

全局對象描述

全局對象是預定義的對象,作(zuò)為(wèi) JavaScript 的全局函數(shù)和(hé)全局屬性的占位符。通(tōng)過使用全局對象,可(kě)以訪問(wèn)所有其他(tā)所有預定義的對象、函數(shù)和(hé)屬性。全局對象不是任何對象的屬性,所以它沒有名稱。

在頂層 JavaScript 代碼中,可(kě)以用關鍵字 this 引用全局對象。但(dàn)通(tōng)常不必用這(zhè)種方式引用全局對象,因為(wèi)全局對象是作(zuò)用域鏈的頭,這(zhè)意味着所有非限定性的變量和(hé)函數(shù)名都(dōu)會作(zuò)為(wèi)該對象的屬性來查詢。例如(rú),當JavaScript 代碼引用 parseInt() 函數(shù)時(shí),它引用的是全局對象的 parseInt 屬性。全局對象是作(zuò)用域鏈的頭,還意味着在頂層 JavaScript 代碼中聲明(míng)的所有變量都(dōu)将成為(wèi)全局對象的屬性。

全局對象隻是一(yī)個對象,而不是類。既沒有構造函數(shù),也無法實例化一(yī)個新的全局對象。

在 JavaScript 代碼嵌入一(yī)個特殊環境中時(shí),全局對象通(tōng)常具有環境特定的屬性。實際上(shàng),ECMAScript 标準沒有規定全局對象的類型,JavaScript 的實現或嵌入的 JavaScript 都(dōu)可(kě)以把任意類型的對象作(zuò)為(wèi)全局對象,隻要(yào)該對象定義了(le)這(zhè)裏列出的基本屬性和(hé)函數(shù)。例如(rú),在允許通(tōng)過 LiveConnect 或相關的技術(shù)來腳本化 Java 的 JavaScript 實現中,全局對象被賦予了(le)這(zhè)裏列出的 java 和(hé) Package 屬性以及 getClass() 方法。而在客戶端 JavaScript 中,全局對象就是 Window 對象,表示允許 JavaScript 代碼的 Web 浏覽器窗口。

例子

在 JavaScript 核心語言中,全局對象的預定義屬性都(dōu)是不可(kě)枚舉的,所有可(kě)以用 for/in 循環列出所有隐式或顯式聲明(míng)的全局變量,如(rú)下(xià)所示:

var variables = "";

for (var name in this)

{

variables += name + "
";

}

document.write(variables);

網站建設開(kāi)發|APP設計開(kāi)發|小程序建設開(kāi)發
下(xià)一(yī)篇:JavaScript JSON
上(shàng)一(yī)篇:JavaScript Error