Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的“hasOwnProperty”_Javascript - Fatal编程技术网

javascript中的“hasOwnProperty”

javascript中的“hasOwnProperty”,javascript,Javascript,我使用obj.hasOwnProperty来判断此对象是否具有此属性,但当我替换obj[prop]!==未定义,但不是正常的实现,我想问,为什么这个方法背后不能使用呢 object.hasOwnProperty(prop); object[prop] !== undefined; obj[prop]!==“未定义”错误有两个原因: 可以使用obj[prop]=undefined;将属性显式设置为undefined;。在这种情况下,obj.hasOwnPropertyprop将返回true。 o

我使用obj.hasOwnProperty来判断此对象是否具有此属性,但当我替换obj[prop]!==未定义,但不是正常的实现,我想问,为什么这个方法背后不能使用呢

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不遵循原型链。