一.本地對象:
本地對象也可以叫做原生對象或者內部對象。
此類對象獨立于宿主環境,由ECMA提供,所以每一種宿主環境都可以使用本地對象。JavaScript中的本地對象有Object、Function、Array、String、Boolean、Math、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError和Global。
二.內置對象:
內置對象與本地對象有如下兩點相同:
(1)獨立于宿主環境,由ECMA提供。
(2)每一種宿主環境都可以使用。
內置對象有自己的特點,那就是無需使用new +構造函數創建,而是JavaScript引擎初始化的時候就被創建。
比如Global對象和Math對象,大家有誰見過通過構造函數創建Math對象實例,都是采用如下使用方式:
console.log(Math.PI) |
代碼運行效果截圖如下:
可以看到,內置對象是本地對象的一個子集。
三.宿主對象:
首先要明確什么是宿主,ECMA僅是一套規范,也就是指定的一套編程規則。
但是規則畢竟是規則,如果要發揮作用,必須要有平臺或者說環境,這就是ECMA的宿主。
瀏覽器就是MCMA宿主之一,我們所說的JavaScript其實就是EMCA在瀏覽器上具體實現。
JavaScript中的宿主BOM與DOM對象,他們都屬于window對象的子對象。
四.代碼實例:
下面通過一個簡單的代碼實例,再來明確一下三個對象。
點擊按鈕可以隨機設置元素的背景顏色和寬度,代碼分析如下:
(1)上面有賦值運算符(=)的應用,這是ECMAS制定的規范。
(2)document.getElementById方法則是宿主對象document所提供的。
(3)在獲取隨機顏色和寬度的時候都用到了Math對象,這是本地對象提供了,同時也是內置對象。
(3)parseInt方法屬于Global對象,屬于本地對象,也屬于內置對象,都是ECMA規范提供。
掃一掃 加微信咨詢