javascript - 一個物件實例化後是否就跟建構子無關係了?要修改只能找原型物件?
阿神
阿神 2017-05-19 10:29:49
0
1
554

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

阿神
阿神

闭关修行中......

全部回覆(1)
大家讲道理

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板