91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript中宿主對象和原生對象有哪些區別

發布時間:2022-05-17 11:46:26 來源:億速云 閱讀:184 作者:iii 欄目:大數據

今天小編給大家分享一下javascript中宿主對象和原生對象有哪些區別的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

區別:原生對象是獨立于宿主環境的ECMAScript實現提供的對象,即ECMA-262定義的類(引用類型);而宿主對象是由ECMAScript實現的宿主環境提供的對象,所有非原生對象都是宿主對象。

內置(Build-in)對象與原生(Naitve)對象的區別在于:前者總是在引擎初始化階段就被創建好的對象,是后者的一個子集;而后者包括了一些在運行過程中動態創建的對象。

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

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

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

一、原生對象

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

  Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError、ActiveXObject(服務器方面)、Enumerator(集合遍歷類)、RegExp(正則表達式)

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

二、內置對象

  ECMA-262 把內置對象(built-in object)定義為“由 ECMAScript 實現提供的、獨立于宿主環境的所有對象,在 ECMAScript 程序開始執行時出現”。這意味著開發者不必明確實例化內置對象,它已被實例化了。

  同樣是“獨立于宿主環境”。根據定義我們似乎很難分清“內置對象”與“原生對象”的區別。而ECMA-262 只定義了兩個內置對象,即 Global 和 Math (它們也是原生對象,根據定義,每個內置對象都是原生對象)。

  如此就可以理解了。內置對象是原生對象的一種。而其包含的兩種對象中,Math對象我們經常用到,可這個Global對象是啥東西呢?

  Global對象是ECMAScript中最特別的對象,因為實際上它根本不存在!在ECMAScript中,不存在獨立的函數,所有函數都必須是某個對象的方法。

  類似于isNaN()、parseInt()和parseFloat()方法等,看起來都是函數,而實際上,它們都是Global對象的方法。而且Global對象的方法還不止這些。

三、宿主對象

  何為“宿主對象”? ECMAScript中的“宿主”當然就是我們網頁的運行環境,即“操作系統”和“瀏覽器”。所有非原生對象都是宿主對象(host object),即由 ECMAScript 實現的宿主環境提供的對象。

  所有的 BOM 和 DOM 對象都是宿主對象。因為其對于不同的“宿主”環境所展示的內容不同。其實說白了就是,ECMAScript官方未定義的對象都屬于宿主對象,因為其未定義的對象大多數是自己通過ECMAScript程序創建的對象。TML DOM 是 W3C 標準(是 HTML 文檔對象模型的英文縮寫,Document Object Model for HTML)。

  HTML DOM 定義了用于 HTML 的一系列標準的對象,以及訪問和處理 HTML 文檔的標準方法。

  通過 DOM,可以訪問所有的 HTML 元素,連同它們所包含的文本和屬性。可以對其中的內容進行修改和刪除,同時也可以創建新的元素。

以上就是“javascript中宿主對象和原生對象有哪些區別”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

略阳县| 钦州市| 兴山县| 濮阳市| 通城县| 苗栗县| 儋州市| 盐城市| 嘉义市| 宁德市| 秀山| 阿拉善右旗| 安西县| 沭阳县| 蓝田县| 达日县| 闸北区| 长汀县| 大英县| 泸定县| 拜城县| 湾仔区| 贺兰县| 四川省| 康定县| 始兴县| 常宁市| 古田县| 新疆| 湖州市| 叶城县| 金阳县| 昌邑市| 寿光市| 陵川县| 綦江县| 丹东市| 象州县| 扶风县| 金寨县| 霍山县|