JavaScript中的全局對(duì)象介紹
對(duì)于任何JavaScript程序,當(dāng)程序開始運(yùn)行時(shí),JavaScript解釋器都會(huì)初始化一個(gè)全局對(duì)象以供程序使用。這個(gè)JavaScript自身提供的全局對(duì)象的功能包括:
1.全局對(duì)象擁有一些常用的屬性值。比如undefined、Infinity以及NaN。
2.全局對(duì)象擁有一些常用的屬性對(duì)象。比如Math、JSON和Number對(duì)象均為該全局對(duì)象的屬性。
3.全局對(duì)象提供一些全局函數(shù)供調(diào)用。比如isNaN()、isFinite()、parseInt()和eval()等。
4.全局對(duì)象提供一些全局構(gòu)造器(constructor),也即全局類。比如Date()、RegExp()、String()、Object()和Array()等。
除了JS全局對(duì)象,對(duì)于運(yùn)行在瀏覽器端的JavaScript程序,還有另一個(gè)全局對(duì)象:window。window全局對(duì)象提供了與當(dāng)前窗口、頁(yè)面有關(guān)的諸多屬性與方法。除了這些與瀏覽器有關(guān)的全局屬性和方法,window對(duì)象還封裝了JS全局對(duì)象,并向外暴露JS全局對(duì)象的屬性與接口;因此,當(dāng)進(jìn)行瀏覽器端JavaScript編程時(shí),只需關(guān)心window全局對(duì)象即可。
對(duì)于JavaScript程序中的this,如果this不屬于任何function,那么這個(gè)this就指代JS全局對(duì)象;如果是瀏覽器端運(yùn)行的JS程序,那么這個(gè)this就指代window全局對(duì)象。
如果這個(gè)this屬于某個(gè)function,那么this指代的就是調(diào)用該function的對(duì)象。若這種情況下function只是一個(gè)普通的函數(shù),而不是某個(gè)類的方法,那么this的指代存在兩種可能:
1.在ECMAScript 3標(biāo)準(zhǔn),以及ECMAScript 5標(biāo)準(zhǔn)的非嚴(yán)格模式下,this指代全局對(duì)象。
2.在ECMAScript 5標(biāo)準(zhǔn)的嚴(yán)格模式下,this指代undefined。
根據(jù)這一特性,可以使用以下代碼來(lái)判斷當(dāng)前是否處于嚴(yán)格模式:
var strict = (function(){return !this;}());
如果在JavaScript程序中創(chuàng)建了全局變量,那么這個(gè)全局變量會(huì)成為全局對(duì)象中的一個(gè)屬性。
實(shí)驗(yàn)
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
- Nodejs學(xué)習(xí)筆記之Global Objects全局對(duì)象
- javascript中全局對(duì)象的isNaN()方法使用介紹
- javascript中全局對(duì)象的parseInt()方法使用介紹
- 淺析JavaScript中兩種類型的全局對(duì)象/函數(shù)
- Javascript 陷阱 window全局對(duì)象
- js 多種變量定義(對(duì)象直接量,數(shù)組直接量和函數(shù)直接量)
- JS中類或?qū)ο蟮亩x說(shuō)明
- javascript 對(duì)象的定義方法
- Javascript創(chuàng)建自定義對(duì)象 創(chuàng)建Object實(shí)例添加屬性和方法
- javascript 對(duì)象定義方法 簡(jiǎn)單易學(xué)
- Javascript 中創(chuàng)建自定義對(duì)象的方法匯總
- JavaScript定義全局對(duì)象的方法示例
相關(guān)文章
javascript 數(shù)組精簡(jiǎn)技巧小結(jié)
本文給大家分享了13個(gè)非常常用的JavaScript數(shù)組操作的小技巧,有需要的小伙伴可以來(lái)看看,個(gè)人十分推薦.2020-02-02js操作CheckBoxList實(shí)現(xiàn)全選/反選(在客服端完成)
對(duì)于CheckBoxList控件來(lái)說(shuō),一方面要實(shí)現(xiàn)大量數(shù)據(jù)在服務(wù)器端的綁定工作,另一方面往往要求實(shí)現(xiàn)全選、反選等功能,接下來(lái)將介紹js操作CheckBoxList實(shí)現(xiàn)全選/反選,感興趣的朋友可以了解下,或許對(duì)你有所幫助2013-02-02JS面向?qū)ο髮?shí)現(xiàn)飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了JS面向?qū)ο髮?shí)現(xiàn)飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名小程序
這篇文章主要介紹了JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10javascript 動(dòng)態(tài)加載 css 方法總結(jié)
有時(shí)候我們?cè)谠O(shè)計(jì)網(wǎng)頁(yè)的時(shí)候想動(dòng)態(tài)的加載css文件,并不是將css文件寫死在頁(yè)面中,這時(shí)就可以使用下面方法.2009-07-07JS及JQuery對(duì)Html內(nèi)容編碼,Html轉(zhuǎn)義
本文主要介紹了JS及JQuery對(duì)Html內(nèi)容編碼,Html轉(zhuǎn)義的方法。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02JavaScript判斷變量是否為數(shù)組的方法(Array)
這篇文章主要介紹了JavaScript判斷變量是否為數(shù)組的方法(Array),涉及到j(luò)avascript 數(shù)組 變量相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2016-02-02