2013-12-16 41 views
1

的父對象我有一個對象obj,我們可以通過obj應用於屬性prop(由obj.prop即參考值不undefined)。如何確定屬性

如何檢測屬性所屬的原型鏈中的對象?

+1

hasOwnProperty()和instanceOf()是你正在尋找的機器人 – dandavis

+2

'obj.hasOwnProperty()'+'obj = Object.getPrototypeOf(obj)'...重複。 –

回答

1

下面是使用非標準__proto__一個可能soluiion:

function printProtoForProp(obj, propName) { 
    if (obj.hasOwnProperty(propName)) { 
     console.log(obj); 
    } else if (obj.__proto__ != null) { 
     printProtoForProp(obj.__proto__, propName); 
    } 
} 

編輯:你可以用Object.getPrototypeOf(obj)取代obj.__proto__(按@Felix克林評論OP下)。

+0

由於它是非標準的,你應該*替換它... – Bergi