|
|
1
46
我认为,对你的问题的简短回答是否定的(你可以创建一个新的对象)。
如果上面有任何错误,请随时纠正我。 |
|
|
2
96
好吧,冒着让事情变得太简单的风险…
…在一行代码中使用最少的吓人的括号来清除对象时似乎非常有效。所有成员将被真正删除,而不是作为垃圾。 显然,如果您想要删除对象本身,您仍然需要为它单独做一个delete()。 |
|
|
3
31
ES5ES5解决方案可以是:
ES6ES6解决方案可以是:
性能不管规格如何,最快的解决方案通常是:
原因何在
|
|
|
4
7
因此,回顾一下您的问题:您希望尽可能避免IE6 GC错误带来的麻烦。这个错误有两个原因:
原因1的解决方案似乎是:减少分配的数量;尽可能少地分配新的对象和字符串。 原因2的解决方案似乎是:减少“活动”对象的数量;一旦不再需要字符串和对象,就删除它们,并在必要时重新创建它们。 在某种程度上,这些解决方案是矛盾的:保持内存中对象的数量较低将需要更多的分配和取消分配。相反,不断地重用相同的对象意味着在内存中保存的对象比严格需要的多。 现在回答你的问题。是否要通过创建新对象或删除对象的所有属性来重置对象:这取决于以后要对其执行什么操作。 您可能希望为其分配新属性:
在不创建新的JScript对象的情况下,没有一种快速、易于使用的方法来清除JScript对象以便重用,就像它是一个新对象一样。这意味着你的问题的简短答案是不,就像jthompson所说的。 |
|
|
5
5
你可以试试这个。下面的函数将对象属性的所有值设置为未定义。也适用于嵌套对象。
|
|
|
6
4
在ES7和一般的数据绑定中观察到一些需要考虑的新事物。考虑:
因此,在这种情况下,2是最佳选择。 |
|
|
7
1
可以删除属性,但不删除变量。
您可以将其指定为空,以将其设置为删除到GC(如果您对属性有其他引用,则不会进行删除)。
设置
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 1 年前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 1 年前 |