Javascript 对局部变量使用“delete”运算符

Javascript 对局部变量使用“delete”运算符,javascript,Javascript,我目前正在从事一个项目,在该项目中,几乎每个函数的末尾都有许多删除运算符,如下所示: var link = $$('a[href=#refresh]'); // do something more... delete link; 我知道delete应该只用于对象属性。我的问题是以我提到的方式使用delete会减慢代码的速度,或者对性能有负面影响?解释delete非常好 删除仅对对象的属性有效。它没有效果 关于变量或函数名。虽然有时被错误地描述为 全局变量,不指定对象的赋值,例如x= 5实际上是

我目前正在从事一个项目,在该项目中,几乎每个函数的末尾都有许多删除运算符,如下所示:

var link = $$('a[href=#refresh]');
// do something more...
delete link;
我知道delete应该只用于对象属性。我的问题是以我提到的方式使用delete会减慢代码的速度,或者对性能有负面影响?

解释delete非常好

删除仅对对象的属性有效。它没有效果 关于变量或函数名。虽然有时被错误地描述为 全局变量,不指定对象的赋值,例如x= 5实际上是全局对象上的属性指定

删除无法删除预定义对象的某些属性,如 对象、数组、数学等。这些在ECMAScript 5和 稍后将显示为不可配置


它应该没什么用,完全没用。注意:如果变量是在全局范围内创建的,例如通过排除var,则删除将起作用。所有删除的变量都在函数范围内。所以我猜它们应该在函数结束后自动删除。在我的示例中删除链接变量只会返回false,我知道它不应该按原样使用。正如我所说,这不是我的代码,所以我唯一好奇的是,这种delete的使用是否会减慢代码的速度。