查找提供继承属性的对象

时间:2016-07-27 02:58:07

标签: javascript angularjs

如果对象具有未知数量的原型父项,并且已知在父母之一上实现了属性名称,那么查找该特定父项的最佳方法是什么?

例如

var a = { x: 'foo' };
var b = {};
var c = { y: 'bar' };
var d = { z: 'baz' };
var e = {};
b.__proto__ = a;
c.__proto__ = b;
d.__proto__ = c;
e.__proto__ = d;
alert(e.y); // 'bar'

仅提及e,我想找到c,因为e.y实际上来自__proto__。 (对象是正常创建的;在此示例中,我仅使用c作为说明目的。)实际上,ee之间可以有任意数量的级别。 / p>

(如果它有帮助,实际上$scope是一个AngularJS function findOwnProperty(o, p) { while (o) { if (o.hasOwnProperty(p)) { return o; } o = o.__proto__; // or o.$parent for scopes } return null; } ,因此构建问题的另一种方法是找到提供特定继承范围属性的特定父范围。)

1 个答案:

答案 0 :(得分:0)

我的天真答案如下:

zip

是否有更好的方法可以做到这一点,或者某些库中是否有某些功能?