Javascript 如何确定属性的父对象
我有一个对象Javascript 如何确定属性的父对象,javascript,Javascript,我有一个对象obj,我们可以通过obj应用于属性prop(即obj.prop引用的值不是未定义的) 如何在属性所属的原型链中检测对象?这里有一个可能的解决方案,使用非标准的\uuuuuuuu proto\uuuuuu: function printProtoForProp(obj, propName) { if (obj.hasOwnProperty(propName)) { console.log(obj); } else if (obj.__proto__ !
obj
,我们可以通过obj
应用于属性prop
(即obj.prop
引用的值不是未定义的)
如何在属性所属的原型链中检测对象?这里有一个可能的解决方案,使用非标准的\uuuuuuuu proto\uuuuuu
:
function printProtoForProp(obj, propName) {
if (obj.hasOwnProperty(propName)) {
console.log(obj);
} else if (obj.__proto__ != null) {
printProtoForProp(obj.__proto__, propName);
}
}
编辑:你可以用Object.getPrototypeOf(obj)
(根据OP下的@Felix Kling注释)替换obj.\uuu proto\uuu
。hasOwnProperty()和instanceOf()是你正在寻找的机器人obj.hasOwnProperty()
+obj=Object.getPrototypeOf(obj)
。。。重复。因为它是非标准的,你应该更换它…