欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中的全局對象介紹

 更新時間:2015年01月01日 09:22:46   投稿:junjie  
這篇文章主要介紹了JavaScript中的全局對象介紹,對于任何JavaScript程序,當(dāng)程序開始運行時,JavaScript解釋器都會初始化一個全局對象以供程序使用,需要的朋友可以參考下

對于任何JavaScript程序,當(dāng)程序開始運行時,JavaScript解釋器都會初始化一個全局對象以供程序使用。這個JavaScript自身提供的全局對象的功能包括:

1.全局對象擁有一些常用的屬性值。比如undefined、Infinity以及NaN。
2.全局對象擁有一些常用的屬性對象。比如Math、JSON和Number對象均為該全局對象的屬性。
3.全局對象提供一些全局函數(shù)供調(diào)用。比如isNaN()、isFinite()、parseInt()和eval()等。
4.全局對象提供一些全局構(gòu)造器(constructor),也即全局類。比如Date()、RegExp()、String()、Object()和Array()等。


除了JS全局對象,對于運行在瀏覽器端的JavaScript程序,還有另一個全局對象:window。window全局對象提供了與當(dāng)前窗口、頁面有關(guān)的諸多屬性與方法。除了這些與瀏覽器有關(guān)的全局屬性和方法,window對象還封裝了JS全局對象,并向外暴露JS全局對象的屬性與接口;因此,當(dāng)進行瀏覽器端JavaScript編程時,只需關(guān)心window全局對象即可。

對于JavaScript程序中的this,如果this不屬于任何function,那么這個this就指代JS全局對象;如果是瀏覽器端運行的JS程序,那么這個this就指代window全局對象。

如果這個this屬于某個function,那么this指代的就是調(diào)用該function的對象。若這種情況下function只是一個普通的函數(shù),而不是某個類的方法,那么this的指代存在兩種可能:

1.在ECMAScript 3標(biāo)準(zhǔn),以及ECMAScript 5標(biāo)準(zhǔn)的非嚴(yán)格模式下,this指代全局對象。
2.在ECMAScript 5標(biāo)準(zhǔn)的嚴(yán)格模式下,this指代undefined。

根據(jù)這一特性,可以使用以下代碼來判斷當(dāng)前是否處于嚴(yán)格模式:


復(fù)制代碼 代碼如下:

var strict = (function(){return !this;}());


如果在JavaScript程序中創(chuàng)建了全局變量,那么這個全局變量會成為全局對象中的一個屬性。

實驗


復(fù)制代碼 代碼如下:

var a = this;
console.log(a);//window object
console.log(a.outerWidth);//access window object's attribute
console.log(a.isNaN);//access JS global object's attribute

x = "test";
console.log(a.x);//access newly created global variable value

相關(guān)文章

最新評論