預解析:提早解析代碼web
每個JavaScript對象(除null外),都和另外一個對象相關聯,「另外一個」對象就是咱們熟知的原型,每個對象都從原型繼承屬性。正則表達式
全部經過對象直接量建立的對象都具備一個原型對象,並能夠經過JavaScript代碼Object.prototype得到對原型對象的引用。經過關鍵字new和構造函數調用建立的對象的原型就是構造函數的prototype屬性的值。數組
三類內置對象、兩類屬性瀏覽器
內置對象(native object)是由ECMAScript規範定義的對象或類。例如,數組、函數、日期和正則表達式都是內置對象函數
宿主對象(host object)是由JavaScript解釋器所嵌入的宿主環境(好比web瀏覽器)定義的。客戶端JavaScript中標識網頁結構的HTMLElement對象均是宿主對象。既然宿主環境定義的方法能夠當作普通的JavaScript函數對象,那麼宿主對象也能夠當成內置對象prototype
自定義對象(user-defined object)對象
自有屬性(own property)是直接在對象中定義的屬性繼承
繼承屬性(inherited property)是在對象的原型對象中定義的屬性ip