搜尋

首頁  >  問答  >  主體

javascript - 一個物件實例化後是否就跟建構子無關係了?要修改只能找原型物件?

當一個物件已實例化後,如想使其具有新的屬性,是否只能透過prototype去新增?為什麼不能修改構造函數?
原因是否是,當一個物件已實例化之後,在其屬性與方法的存續上就跟建構子無關了?

阿神阿神2747 天前532

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-05-19 10:31:49

    prototype被稱為原型鏈。
    1、一個物件實例化後,是可以直接Object.name新增的。至於透過原型鏈添加的,是新增的公有屬性,其他透過相同類別實例的物件都可以存取。
    2、實例化後的物件是無法存取原型鏈,原型鏈只有Class才會有,並且,原型鏈的屬性和方法是透過Class.prototype來新增的。建構函數也屬於原型鏈方法,你可以修改你透過實例後所獲得的建構函數,不過無法影響Class的建構函數,並且會隨著Class.prototype的改變而改變。
    至於實例化後的物件想要使用原型鏈中定義的屬性與方法,可以直接Object.name來進行使用。
    你可以去看一下有關原型鏈的知識,百度一搜尋有很多。
    本人也是新人,不足之處,望指出。

    回覆
    0
  • 取消回覆