Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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 有条件地删除对象的属性_Javascript_Javascript Objects - Fatal编程技术网

Javascript 有条件地删除对象的属性

Javascript 有条件地删除对象的属性,javascript,javascript-objects,Javascript,Javascript Objects,我有一个对象,该对象可能具有或不具有我要删除的属性;这些属性是在运行时添加的。以下是我编写代码的方式: if (MyObject.hasOwnProperty("SomeProperty")) { delete MyObject['SomeProperty']; } 如果我删除条件以测试属性是否不存在,代码不会崩溃,但我想知道这是否仅仅是因为我在Chrome中运行它,还是因为它是有效的javascript。换句话说,我可以写删除MyObject['SomeProperty']没有.has

我有一个对象,该对象可能具有或不具有我要删除的属性;这些属性是在运行时添加的。以下是我编写代码的方式:

if (MyObject.hasOwnProperty("SomeProperty")) {
   delete MyObject['SomeProperty'];
}

如果我删除条件以测试属性是否不存在,代码不会崩溃,但我想知道这是否仅仅是因为我在Chrome中运行它,还是因为它是有效的javascript。换句话说,我可以写
删除MyObject['SomeProperty']
没有
.hasOwnProperty
语句,即使对象没有该属性也可以。

此处的条件是不必要的。如果对象上不存在属性,
delete
操作将不会执行任何操作。它也不会删除继承的属性