對象原型鏈上的同名屬性的writable為什么會影響到 對象本身的屬性呢?
var?a = {}; Object.defineProperty(a,'x',{value:1}); var?b????=????Object.create(a); b.x=100; console.log(b.x);????//得到的還是1
而改為
Object.defineProperty(a,'x',{value:1,writable:true}); b.x=100; console.log(b.x);????//得到的是100
為什么修改原型鏈上的同名屬性的配置 會影響到對象本身?
2016-04-25
Object.defineProperty(a,'x',{value:1});
因為這樣定義的a的x屬性是不可寫的(writable:false),所以無法修改??梢詫⑵涓臑橐韵麓a,其值已被修改為100了:
Object.defineProperty(a, 'x',?
{value : 100, configurable: true});
2015-12-20
應該是新js規范(ECMAScript 5)上擴展的對象
2015-12-20
writable是屬性標簽,并且使用defineProperty定義對象時,默認值為false