无法删除控制台中的变量

时间:2016-11-15 14:05:15

标签: javascript

我无法在控制台中删除变量。

为什么?

enter image description here

2 个答案:

答案 0 :(得分:1)

声明的变量是全球污染物。 一旦发射,它们将永远存在!

这就是为什么我总是争论并反对强制使用var声明 - 现在我们还有两个。 :)

一旦声明一个变量,该命名空间将永久保留。 未声明的全局变量,但是可以像任何其他对象属性名称值对一样被删除,这是一件好事。

我还编写了一种方法来测试某个命名空间是否已经被使用,或者是否存在于任何给定范围内以用于冗长的大代码项目。

在早些时候,重新声明相同的变量名称并没有用来引发硬故障错误 - 首先发出一个软通知,即变量名已经被声明[如果我的记忆能很好地服务我],但是稍后,并且由于无法删除已经声明的var的复杂性,需要重新声明在尝试上出现错误,以确保编码器理解变量名已经被声明并存在。

如果有人需要,可以在互联网上找到我的isNS( [ string ] );。它的使用是如此多才多艺,会让你思考 - 为什么它还没有成为JavaScript规范的一部分?!

isNS( "myNewVariable"); >> Boolean true:false

它还有第二个参数,一个配置器 - 如果存在 - 可以修改返回值以更好地适合你的情况。

答案 1 :(得分:0)

我认为你的问题的答案在于这个主题 How to unset a JavaScript variable?

总结一下,您可以删除未使用varlet声明的变量,因为删除运算符会从对象中删除属性但无法删除变量