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)
。。。重复。因为它是非标准的,你应该更换它…