在JavaScript中删除不再使用的对象和变量是一种好习惯吗?

web*_*jay 1 javascript

在我的代码中,我在函数中使用了一个对象和变量.在该函数中我不再使用我删除它的对象和变量:

delete myObject;
delete myVar;
Run Code Online (Sandbox Code Playgroud)

这是好习惯吗?
它能提速吗?

我的JavaScript是smart.joyent.com上的服务器端.

bob*_*nce 6

这是好习惯吗?

实际上,在新的ECMAScript第五版'严格模式'中不允许使用它:

当严格模式代码中出现删除操作符时,如果其UnaryExpression是对变量,函数参数或函数名称的直接引用,则抛出SyntaxError(11.4.1).

如果你真的必须,你可以改为=null释放它为垃圾收集引用的任何对象,但它几乎不会导致任何明显的性能提升.

删除长期存在的对象的属性以释放现在未使用的引用对象可能是一个好主意,特别是在打破DOM循环以防止IE中的内存泄漏的情况下.删除短期函数中的局部变量是不明智的.