object.hasOwnProperty(prop) 僅在屬性存在於實例中才會返回 true ,而 in 操作符只要通過對象能訪問到屬性就會返回 true 。因此,當屬性屬於這個對象,又不存在於實例時,就說明它是原型的屬性了。具體實現如下: ...
object.hasOwnProperty(prop) 僅在屬性存在於實例中才會返回 true ,而 in 操作符只要通過對象能訪問到屬性就會返回 true 。因此,當屬性屬於這個對象,又不存在於實例時,就說明它是原型的屬性了。具體實現如下:
1 function hasPrototypeProperty(obj, name) { 2 return !obj.hasOwnProperty(name) && (name in obj); 3 }