掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
這個圖來自于《JavaScript語言精髓與編程實踐》第三章P184頁。最近在改第二版,這張圖重做了,需要的可以對照著看。

此外,補充一下圖中用到的概念:
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)建的對象。這種情況下,讀者應注意到“宿主的原生對象”與“引擎的原生對象”之間的差異。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流