一、__proto__ 對象內部存在一個指針,用來指向上一層函數的原型對象。ECMA-262第五版中關這個指針叫[[prototype]],但Firefox、Safari和Chrome在每個對象上都支持一個屬性__proto__,這也就是網上說的‘每個對象都有一個__proto__屬性’的原因。 二 ...
一、__proto__
對象內部存在一個指針,用來指向上一層函數的原型對象。ECMA-262第五版中關這個指針叫[[prototype]],但Firefox、Safari和Chrome在每個對象上都支持一個屬性__proto__,這也就是網上說的‘每個對象都有一個__proto__屬性’的原因。
二、prototype
prototype為函數對象的一個屬性。無論什麼時候,只要創建了一個新函數,就會根據一組特定的規則為該函數創建一個prototype屬性。且屬性指向該函數的原型對象。
三、原型對象
原型對象通過‘構造函數.prototype’可以得到。創建自定義的構造函數之後,其原型對象都會自動獲得一個constructor屬性,這個屬性是一個指向prototype屬性所在函數的指針;其他方法都是從Object繼承而來的;
在瀏覽器中列印出來的結果為:
四、結尾