JS原型鏈




'z' in obj;

用in返回的是對象及原型鏈上的結果

  在JavaScript 中,每當定義一個對象(函數)時候,對象中都會包含一些預定義的屬性。其中函數對象的一個屬性
就是原型對象 prototype。注:普通對象沒有prototype,但有__proto__屬性

JS在創建對象(不論是普通對象還是函數對象)的時候,都有一個叫做__proto__的內置屬性,用於指向創建它的函數
對象的原型對象prototype。

Object.prototype對象也有__proto__屬性,但它比較特殊,爲null

console.log(Object.prototype.__proto__) //null


1.原型和原型鏈是JS實現繼承的一種模型。
2.原型鏈的形成是真正是靠__proto__ 而非prototype



prototype是函數的內置屬性,__proto__是對象的內置屬性


用chrome和FF都可以訪問到對象的__proto__屬性,IE不可以

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章