JavaScript 全局屬性和(hé)函數可用(yòng)于所有内置 JavaScript 對(duì)象。
JavaScript 全局屬性
屬性 | 描述 |
---|---|
Infinity | 表示正/負無窮大(dà)的數值。 |
NaN | “非數字”("Not-a-Number")值。 |
undefined | 表示變量尚未賦值。 |
JavaScript 全局函數
函數 | 描述 |
---|---|
decodeURI() | 解碼 URI。 |
decodeURIComponent() | 解碼 URI 組件。 |
encodeURI() | 對(duì) URI 進行編碼。 |
encodeURIComponent() | 對(duì) URI 組件進行編碼。 |
escape() | 在 1.5 版中已棄用(yòng)。請(qǐng)使用(yòng) encodeURI() 或 encodeURIComponent() 代替。 |
eval() | 評估字符串并像腳本代碼一樣執行它。 |
isFinite() | 确定值是否是有限的合法數。 |
isNaN() | 确定值是否是非法數字。 |
Number() | 将對(duì)象的值轉換爲數字。 |
parseFloat() | 解析字符串并返回浮點數。 |
parseInt() | 解析字符串并返回整數。 |
String() | 将對(duì)象的值轉換爲字符串。 |
unescape() | 在 1.5 版中已棄用(yòng)。請(qǐng)使用(yòng) decodeURI() 或 decodeURIComponent() 代替。 |
函數還是方法?
調用(yòng)上(shàng)面列表中的全局函數而不是全局方法是有意義的,因爲函數是全局調用(yòng)的,而非任何對(duì)象。
無論如何,您也(yě)可以調用(yòng)這(zhè)些(xiē)函數方法,因爲它們是其運行環境的全局對(duì)象的方法。在 Web 浏覽器中,全局對(duì)象是浏覽器窗口。那麽 isNaN() 其實就是一個窗口方法:window.isNaN()。
全局對(duì)象描述
全局對(duì)象是預定義的對(duì)象,作(zuò)爲 JavaScript 的全局函數和(hé)全局屬性的占位符。通過使用(yòng)全局對(duì)象,可以訪問所有其他(tā)所有預定義的對(duì)象、函數和(hé)屬性。全局對(duì)象不是任何對(duì)象的屬性,所以它沒有名稱。
在頂層 JavaScript 代碼中,可以用(yòng)關鍵字 this 引用(yòng)全局對(duì)象。但(dàn)通常不必用(yòng)這(zhè)種方式引用(yòng)全局對(duì)象,因爲全局對(duì)象是作(zuò)用(yòng)域鏈的頭,這(zhè)意味着所有非限定性的變量和(hé)函數名都會(huì)作(zuò)爲該對(duì)象的屬性來(lái)查詢。例如,當JavaScript 代碼引用(yòng) parseInt() 函數時(shí),它引用(yòng)的是全局對(duì)象的 parseInt 屬性。全局對(duì)象是作(zuò)用(yòng)域鏈的頭,還意味着在頂層 JavaScript 代碼中聲明(míng)的所有變量都将成爲全局對(duì)象的屬性。
全局對(duì)象隻是一個對(duì)象,而不是類。既沒有構造函數,也(yě)無法實例化一個新的全局對(duì)象。
在 JavaScript 代碼嵌入一個特殊環境中時(shí),全局對(duì)象通常具有環境特定的屬性。實際上(shàng),ECMAScript 标準沒有規定全局對(duì)象的類型,JavaScript 的實現(xiàn)或嵌入的 JavaScript 都可以把任意類型的對(duì)象作(zuò)爲全局對(duì)象,隻要該對(duì)象定義了(le)這(zhè)裏列出的基本屬性和(hé)函數。例如,在允許通過 LiveConnect 或相關的技術來(lái)腳本化 Java 的 JavaScript 實現(xiàn)中,全局對(duì)象被賦予了(le)這(zhè)裏列出的 java 和(hé) Package 屬性以及 getClass() 方法。而在客戶端 JavaScript 中,全局對(duì)象就是 Window 對(duì)象,表示允許 JavaScript 代碼的 Web 浏覽器窗口。
例子
在 JavaScript 核心語言中,全局對(duì)象的預定義屬性都是不可枚舉的,所有可以用(yòng) for/in 循環列出所有隐式或顯式聲明(míng)的全局變量,如下(xià)所示:
var variables = "";
for (var name in this)
{
variables += name + "
";
}
document.write(variables);
網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發