小编Pri*_*jit的帖子

使用Object.create(null)创建对象时__proto__如何工作

请考虑以下JavaScript代码

var a = Object.create(null);
a.foo = 1;
var b = Object.create(a);
console.log(b.foo);  //prints 1
console.log(b.__proto__);  //prints undefined
b.__proto__ = null;
console.log(b.__proto__);  //prints null
console.log(b.foo);  //prints 1
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释对象即使在设置为null 后如何b访问"foo"属性?用于访问属性的内部链接是什么?ab.__proto__a

我试图通过SO搜索可能的解释,但找不到任何解释Javascript的这种特殊行为.

javascript inheritance prototype prototype-chain

7
推荐指数
1
解决办法
511
查看次数