【问题标题】:Unable to delete variables in the console [duplicate]无法在控制台中删除变量[重复]
【发布时间】:2017-03-29 10:54:18
【问题描述】:

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

为什么?

【问题讨论】:

  • MDN says “任何用 let 或 const 声明的属性都不能从定义它们的范围内删除。” 我不知道为什么 情况就是这样——除了“规范是这么说的”之外,但它会这样做是有充分理由的。
  • 你期望什么行为?
  • 请避免发布代码照片 - 而是发布实际文本。

标签: javascript


【解决方案1】:

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

这就是为什么我一直争论并且反对强制使用 var 声明的原因——现在我们还有两个。 :)

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

在早期,重新声明相同的变量名并不会引发硬错误错误 - 首先是一个软通知,指出变量名已经声明 [如果我没记错的话],但后来,并且由于无法删除已声明的 var 的复杂性,因此需要重新声明相同的变量,以便在尝试时引发错误,以确保编码人员了解变量名称已被声明并存在。

【讨论】:

    【解决方案2】:

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

    总而言之,您可以删除未使用 varlet 声明的变量,因为 delete 运算符从对象中删除属性但无法删除变量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 2021-06-26
      • 2020-05-03
      • 2020-11-06
      • 1970-01-01
      相关资源
      最近更新 更多