我们能得到object3.x的查找计数吗?
首先-查看自有财产- no x
第二-查看object3 ->object2的原型对象- no x
第三-查看object2 ->对象的原型对象1-x已定义-是
object1 = {x:1};
object2 = Object.create(object1);
object2.y = 2;
object3 = Object.create(object2);
object3.z = 3;
object1.x; // lookup count = 1
object2.x; // lookup count = 2
object3.x; // lookup count = 3发布于 2012-03-13 11:52:35
您可以为此创建一个函数...
function prop_depth(obj, p) {
var count = 1;
while(obj && !obj.hasOwnProperty(p)) {
obj = Object.getPrototypeOf(obj);
count++;
}
return obj ? count : -1;
}
prop_depth(object1,'x'); // lookup count = 1
prop_depth(object2,'x'); // lookup count = 2
prop_depth(object3,'x'); // lookup count = 3https://stackoverflow.com/questions/9678093
复制相似问题