这个例子的灵感来自Alex Sexton的博客文章Understanding JavaScript Inheritance:
var defaults = {};
defaults.x = 1;
var myObject = Object.create(defaults);
console.log(myObject); // {x:1}
myObject.x = 2;
console.log(myObject); // {x:2, x:1}
console.log(myObject.x); // 2
问:有没有办法从myObject中取出该值1?我想的是:
console.log(myObject.parent.x);
答案 0 :(得分:2)
这适用于Chrome和Firefox。
>>> myObject.__proto__.x
1
答案 1 :(得分:1)
您可以从myObject
引用默认值myObject.parent = defaults;
console.log(myObject.parent.x);// 1
答案 2 :(得分:1)
所有主流浏览器的最新版本都支持Object.getPrototypeOf()
,并且需要一些额外的代码才能兼容IE8和更早版本(check this)。如果这对您来说不是问题,您可以执行以下操作:
Object.getPrototypeOf(myObject).x
检查jsfiddle。