javascript對象

原型(prototype)

原型是實際對象被實例化的模型,有點像c++裏類的意思。
調用構造函數的prototype可以修改原型,往所有被實例化的對象添加新的屬性等操作。

<script>
    function item() {
      this.a = 1;
    }
    let b = new item()
    console.log(b.a);
    item.prototype.is = true;
    console.log(b.is)
</script>

以上可以看出,使用prototype添加了新的is屬性,可以看出b裏面也加入了該屬性。

繼承

在ES6中已經引入了class、constructor(構造函數)、extends、super關鍵字,已經不需要像前面那樣定義對象了。此後和java定義類那樣就行了。

但是呢,要往類裏面添加新的屬性,還是得用prototype屬性來進行操作。

class item{
    constructor() {
        this.a = 1;
    }
}
let b = new item();
item.prototype.aaa = "aaa";
console.log(b.aaa);
b.__proto__.bbb = 1;
console.log(b.bbb);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章