有一天我在看MDN上對(duì)defineProperty的時(shí)候,有一段沒看明白,所以就在瀏覽器上跑了一段這樣的代碼做調(diào)試var Foo = function(){};Object.defineProperty(Foo.prototype,"x",{ get(){ return 3;
}
});var foo = new Foo();console.dir(foo);我期待的結(jié)果應(yīng)該是Foo { __proto__:{
constructor: ? (),
x: 3,
__proto__: Object
}
}但是真正的結(jié)果是Foo {
x: 3,
__proto__:{
constructor: ? (),
x: 3,
__proto__: Object
}}為什么在最外層就已經(jīng)出現(xiàn)了x屬性呢?求大神和老師解惑
使用Object.defineProperty一個(gè)構(gòu)造函數(shù)的prototype出現(xiàn)的奇怪的問題?
陪伴而非守候
2019-01-05 11:37:18