天天看點

JavaScript對象之原型鍊

一個js對象,除了自己設定的屬性外,還會自動生成proto、class、extensible屬性,其中,proto屬性指向對象的原型。

對象的屬性也有writable、enumerable、configurable、value和get/set的配置方法。

JavaScript對象之原型鍊

 對象的建立方式有三種:

一、使用字面量直接建立。

二、基于原型鍊建立。

JavaScript對象之原型鍊

分析上圖,要點如下:

1.可以new運算符建立對象,foo為自定義函數,即是對象。

2.可以設定foo.prototype上的屬性。

3.變量z在原型鍊上,為foo.prototype的屬性,并非obj的自有屬性。

4.原型鍊為obj->foo.prototype->Object.prototype->null。

JavaScript對象之原型鍊

分析上圖,要點如下:

1.若定義與原型鍊上同名的變量,則不會覆寫原型鍊上的變量,而是在對象本身新增副本。

2.delete運算符不會影響原型鍊上已有的變量,隻會删除對象自身的屬性。

三、使用Object.create建立。

JavaScript對象之原型鍊

分析上圖,要點如下:

繼續閱讀