只应删除属性

时间:2012-03-16 19:26:12

标签: javascript jslint

我在使用JSLint时收到此错误:只应删除属性

为什么不喜欢这个?我试图删除的变量非常大,所以我希望得到一个垃圾收集的跳转。这不行吗?

3 个答案:

答案 0 :(得分:11)

delete用于删除对象的属性,而不是常规变量(VariableObject上的属性)。

相反,您可以将对值的所有引用设置为null。 JavaScript的GC会在需要时清理它。

答案 1 :(得分:2)

如果您只是想摆脱jslint警告,可以试试这个:

var myHugeVariable = ...;

// do stuff with huge variable

delete window.myHugeVariable;

这应该有效,因为所有全局变量实际上都是全局对象的属性。

答案 2 :(得分:1)

通常,没有必要释放变量。 javascript引擎会自动执行此操作。

或者,您可以让变量等于undefined,这样就可以传递jslint check。

var a=11;
a = undefined;

不推荐。