获取对象内部的父值

时间:2013-04-19 17:08:39

标签: javascript inheritance

这个例子的灵感来自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);

3 个答案:

答案 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