原生對象、內(nèi)置對象泪幌、宿主對象的區(qū)別

1盲厌、內(nèi)置(Build-in)對象與原生(Naitve)對象的區(qū)別在于:前者總是在引擎初始化階段就被創(chuàng)建好的對象,是后者的一個子集祸泪;而后者包括了一些在運行過程中動態(tài)創(chuàng)建的對象吗浩。

2、引擎擴展對象是一個并不太大的集合没隘,一般來說比較確定懂扼,它們也屬于引擎的原生對象(但不屬于ECMA規(guī)范的原生對象)。

3右蒲、宿主對象不是引擎的原生對象阀湿,而是由宿主框架通過某種機制注冊到JavaScript引擎中的對象。

4瑰妄、一些宿主會把自己提供的對象/構(gòu)造器也稱為“原生對象”陷嘴,例如Internet Explorer 7就把它提供的XMLHttpRequest()稱為原生的——與此相對的是在它的更早先版本中通過“new ActiveXObject('Microsoft.XMLHTTP')”這樣的方法創(chuàng)建的對象。這種情況下间坐,讀者應(yīng)注意到“宿主的原生對象”與“引擎的原生對象”之間的差異灾挨。

1.jpg

一、原生對象

ECMA-262 把原生對象(native object)定義為“獨立于宿主環(huán)境的 ECMAScript 實現(xiàn)提供的對象”竹宋。

Object劳澄、Function、Array蜈七、String浴骂、Boolean、Number宪潮、Date溯警、RegExp、Error狡相、EvalError梯轻、RangeError、ReferenceError尽棕、SyntaxError喳挑、TypeError、URIError、ActiveXObject(服務(wù)器方面)伊诵、Enumerator(集合遍歷類)单绑、RegExp(正則表達式)

由此可以看出,簡單來說曹宴,原生對象就是 ECMA-262 定義的類(引用類型)搂橙。

二、內(nèi)置對象

ECMA-262 把內(nèi)置對象(built-in object)定義為“由 ECMAScript 實現(xiàn)提供的笛坦、獨立于宿主環(huán)境的所有對象区转,在 ECMAScript 程序開始執(zhí)行時出現(xiàn)”。這意味著開發(fā)者不必明確實例化內(nèi)置對象版扩,它已被實例化了废离。

同樣是“獨立于宿主環(huán)境”。根據(jù)定義我們似乎很難分清“內(nèi)置對象”與“原生對象”的區(qū)別礁芦。而ECMA-262 只定義了兩個內(nèi)置對象蜻韭,即 Global 和 Math (它們也是原生對象,根據(jù)定義柿扣,每個內(nèi)置對象都是原生對象)湘捎。

如此就可以理解了。內(nèi)置對象是原生對象的一種窄刘。而其包含的兩種對象中,Math對象我們經(jīng)常用到舷胜,可這個Global對象是啥東西呢娩践?

Global對象是ECMAScript中最特別的對象,因為實際上它根本不存在烹骨!在ECMAScript中翻伺,不存在獨立的函數(shù),所有函數(shù)都必須是某個對象的方法沮焕。

類似于isNaN()吨岭、parseInt()和parseFloat()方法等,看起來都是函數(shù)峦树,而實際上辣辫,它們都是Global對象的方法。而且Global對象的方法還不止這些魁巩。

三急灭、宿主對象

何為“宿主對象”? ECMAScript中的“宿主”當(dāng)然就是我們網(wǎng)頁的運行環(huán)境谷遂,即“操作系統(tǒng)”和“瀏覽器”葬馋。所有非原生對象都是宿主對象(host object),即由 ECMAScript 實現(xiàn)的宿主環(huán)境提供的對象。

所有的 BOM 和 DOM 對象都是宿主對象畴嘶。因為其對于不同的“宿主”環(huán)境所展示的內(nèi)容不同蛋逾。其實說白了就是,ECMAScript官方未定義的對象都屬于宿主對象窗悯,因為其未定義的對象大多數(shù)是自己通過ECMAScript程序創(chuàng)建的對象区匣。TML DOM 是 W3C 標(biāo)準(zhǔn)(是 HTML 文檔對象模型的英文縮寫,Document Object Model for HTML)蟀瞧。

HTML DOM 定義了用于 HTML 的一系列標(biāo)準(zhǔn)的對象沉颂,以及訪問和處理 HTML 文檔的標(biāo)準(zhǔn)方法。

通過 DOM悦污,可以訪問所有的 HTML 元素铸屉,連同它們所包含的文本和屬性∏卸耍可以對其中的內(nèi)容進行修改和刪除彻坛,同時也可以創(chuàng)建新的元素。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末踏枣,一起剝皮案震驚了整個濱河市昌屉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茵瀑,老刑警劉巖间驮,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異马昨,居然都是意外死亡竞帽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門鸿捧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屹篓,“玉大人,你說我怎么就攤上這事匙奴《亚桑” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵泼菌,是天一觀的道長谍肤。 經(jīng)常有香客問我,道長哗伯,這世上最難降的妖魔是什么谣沸? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮笋颤,結(jié)果婚禮上乳附,老公的妹妹穿的比我還像新娘内地。我一直安慰自己,他們只是感情好赋除,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布阱缓。 她就那樣靜靜地躺著,像睡著了一般举农。 火紅的嫁衣襯著肌膚如雪荆针。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天颁糟,我揣著相機與錄音航背,去河邊找鬼。 笑死棱貌,一個胖子當(dāng)著我的面吹牛玖媚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播婚脱,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼今魔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了障贸?” 一聲冷哼從身側(cè)響起错森,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎篮洁,沒想到半個月后涩维,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡袁波,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年瓦阐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锋叨。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖宛篇,靈堂內(nèi)的尸體忽然破棺而出娃磺,到底是詐尸還是另有隱情,我是刑警寧澤叫倍,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布偷卧,位于F島的核電站,受9級特大地震影響吆倦,放射性物質(zhì)發(fā)生泄漏听诸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一蚕泽、第九天 我趴在偏房一處隱蔽的房頂上張望晌梨。 院中可真熱鬧桥嗤,春花似錦、人聲如沸仔蝌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敛惊。三九已至渊鞋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瞧挤,已是汗流浹背锡宋。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留特恬,地道東北人执俩。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像鸵鸥,于是被迫代替她去往敵國和親奠滑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容