對(duì)象原型鏈上的同名屬性的writable為什么會(huì)影響到 對(duì)象本身的屬性呢?
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
為什么修改原型鏈上的同名屬性的配置 會(huì)影響到對(duì)象本身?
2016-04-25
Object.defineProperty(a,'x',{value:1});
因?yàn)檫@樣定義的a的x屬性是不可寫(xiě)的(writable:false),所以無(wú)法修改。可以將其改為以下代碼,其值已被修改為100了:
Object.defineProperty(a, 'x',?
{value : 100, configurable: true});
2015-12-20
應(yīng)該是新js規(guī)范(ECMAScript 5)上擴(kuò)展的對(duì)象
2015-12-20
writable是屬性標(biāo)簽,并且使用defineProperty定義對(duì)象時(shí),默認(rèn)值為false