
获得徽章 0
- 为什么改一个对象,会把原型链改了,有什么理论依据吗var s = { _a: 1 };
Object.defineProperty(s, 'a', {
get() {
console.log("get");
return s._a;
},
set(val) {
console.log('set');
s._a = val;
}
});
var myObj = {};
Object.setPrototypeOf(myObj, s);
myObj.a = 10;
console.log(myObj);
console.log(s);展开3点赞 - {function foo(){};foo=1;function foo(){};foo=2;}
console.log(foo); // 1
明白块级作用域和函数声明提升,还是不懂为什么会输出1,谁能解释一下还差什么理论评论点赞