Chrome 控制台清除赋值和变量

新手上路,请多包涵

我正在学习 JavaScript,并且一直在 Chrome 控制台中进行大量测试。即使我清除控制台,或使用我在其他线程中看到的任何命令 ( localStorage.clear() ),我分配的任何变量仍然会显示。

例如,如果我做类似 var name = "Bob";

在此处输入图像描述

我清除并关闭控制台,重新打开它,然后查找 name 的值,它仍然是 Bob

在此处输入图像描述

清除这些的最佳方法是什么?

原文由 spex5 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

从控制台清除数据的最简单方法是 刷新页面

在开发人员控制台中声明任何变量或函数时,您所影响的是 _全局执行上下文_,对于 Web 浏览器来说是 window

当您 clear() 控制台时,您告诉 Chrome 删除这些操作的所有 可见 历史记录,而不是清除您附加到的对象 window

原文由 sdgluck 发布,翻译遵循 CC BY-SA 4.0 许可协议

此问题的一个简单解决方案是将全局范围内不需要的任何代码包装在立即调用的函数表达式 (IIFE) 中。当函数结束时,在函数范围内分配的所有变量都将被释放:

 (function() {

    // Put your code here...

})();

有关 IIFE 的更多信息: https ://en.wikipedia.org/wiki/Immediately-invoked_function_expression

[更新]

在 ES6 中,您可以使用块(只要您使用 let 而不是 var ):

 {

    // Put your code here...

}

有关块的更多信息:http: //exploringjs.com/es6/ch_core-features.html#sec_from-iifes-to-blocks

原文由 pjivers 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏