javascript中的“hasOwnProperty”
我使用obj.hasOwnProperty来判断此对象是否具有此属性,但当我替换obj[prop]!==未定义,但不是正常的实现,我想问,为什么这个方法背后不能使用呢javascript中的“hasOwnProperty”,javascript,Javascript,我使用obj.hasOwnProperty来判断此对象是否具有此属性,但当我替换obj[prop]!==未定义,但不是正常的实现,我想问,为什么这个方法背后不能使用呢 object.hasOwnProperty(prop); object[prop] !== undefined; obj[prop]!==“未定义”错误有两个原因: 可以使用obj[prop]=undefined;将属性显式设置为undefined;。在这种情况下,obj.hasOwnPropertyprop将返回true。 o
object.hasOwnProperty(prop);
object[prop] !== undefined;
obj[prop]!==“未定义”错误有两个原因:
可以使用obj[prop]=undefined;将属性显式设置为undefined;。在这种情况下,obj.hasOwnPropertyprop将返回true。
obj[prop]将跟随原型链,因此它将返回一个继承的属性。obj.hasOwnPropertyprop仅在对象中直接存在该属性时返回true,对于继承的属性,它返回false。
你的问题真的很难理解…你到底遇到了什么问题?您试图实现什么?对象可以具有未定义值的属性。这与不存在的属性不同。所以对象[prop]!==undefined不测试属性是否存在。是否可以重新添加该问题?无法理解您试图执行的操作和试图询问的内容。对象[prop]将返回从原型继承的属性。hasOwnProperty不遵循原型链。