這篇文章帶給大家的內容是關於js中的本地物件&內建物件&宿主物件的分析 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
一、本機物件
ECMA-262把本地物件(native object)定義為:獨立於宿主環境的ECMAScript實現的物件。
這裡簡單說一下JavaScript的應用環境,JavaScript的應用環境是由宿主環境和運行期間環境所構成。宿主環境主要是指外殼程式(shell)和Web瀏覽器等,運行期環境由JavaScript引擎內建的。
現在來看看本地物件有哪些:
Object、Function、Array、String、Number、Date、RegExp、Boolean、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError
二、內置對象
ECMA-262把內建對象定義為:由ECMAScript提供實現的、獨立於宿主環境的所有對象,在ECMAScript程式開始執行時出現。
這表示內建物件都是已經實例化好的,不需要我們再進行實例化了,這裡我們首先會想到的就是Math物件。
ECMA-262定義的內建物件只有兩個:Global和Math。 (本地對象和內建對像都是獨立於宿主對象,根據定義可以看出來內建對像也是本地對象,在JS中所有的內建對像都是本地對象)。
Math物件是我們常用到的,但是Global就比較少見了。其實我們常用到Global對象,只是沒有用Global這個名字。
Global對像是一個比較特殊的對象,它是一個全局對象,在程式中只有一個,它的存在伴隨著整個程式的生命週期,全局對像不能透過名字來訪問,但是它有一個window屬性,這個屬性指向它本身。
大家也要清楚,在ECMAScript中不存在獨立的函數,所有的函數都應該是某個物件的方法。類似isNaN()、parseInt()、parseFloat()等方法都是Global物件的方法。
三、宿主物件
宿主物件:由ECMAScript實現的宿主環境提供的物件。
或許這樣不是很好理解,上面已經說過了宿主環境包含Web瀏覽器,所以我們可以這樣理解,瀏覽器提供的物件都是宿主物件。
也可以這樣理解,因為本地對像是非宿主環境的對象,那麼非本地對象就是宿主對象,也就是所有的BOM對象和DOM對像都是宿主對象。
那麼還有一種對象,那就是我們自己定義的對象,也是宿主對象。
最簡單的理解:ECMAScript官方未定義的物件都屬於宿主物件。
四、總結
本地對象就是ECMAScript中定義好的對象,如String、Date等,內建對像是本地對像中比較特殊的一種,它不用實例化,包括Global和Math,宿主物件就是BOM、DOM和自己定義的物件。
相關推薦:
淺析js的事件綁定&事件監聽&事件委託的之間內容以上是js中的本地物件&內建物件&宿主物件的分析總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!