[英]How delete a property of Object without “delete” operation
我需要删除对象的属性。 给定一个"id"
,我必须删除value[id]
。 我尝试以下代码:
delete value[id];
但是delete运算符只删除一个引用,而不删除对象本身。任何人都可以建议我任何一种永久删除对象属性的方法吗?
JavaScript不允许您执行此类操作,它是垃圾回收,这意味着您无法直接控制内存中发生的事情。 您只能删除参考。 如果您希望它永远消失,请确保将其删除在其他使用位置。
通过链接,它正确地解释了..
链接中的要点添加如下。
与通常的想法不同,delete操作符与直接释放内存无关(它仅通过断开引用间接进行。有关更多详细信息,请参见内存管理页面)。
如果delete操作符成功,它将从对象中完全删除该属性。 但是,如果对象原型链上存在具有相同名称的属性,则该对象将从原型继承该属性。
删除仅对对象的属性有效。 它对变量或函数名称没有影响。 尽管有时错误地将其描述为全局变量,但未指定对象的分配(例如x = 5)实际上是全局对象上的属性分配。
delete无法删除预定义对象的某些属性(如Object,Array,Math等)。 这些在ECMAScript 5和更高版本中描述为不可配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.