请考虑以下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的这种特殊行为.