如何清除 Javascript 控制台并删除存储在内存中的所有内容



在Chrome的开发者工具控制台中,我希望能够完全删除存储在内存中的所有变量。

例如:

var x = 8;
x // 8
clear()
x // not found, x is not defined

相反,每次我尝试执行clear()console.clear()的变体时,变量仍然存在于内存中,我得到:

var x = 8;
x // 8
clear()
x // 8

任何这方面的帮助将不胜感激。

清除控制台历史记录很容易,右键单击控制台窗口并从上下文菜单中选择"清除控制台历史记录"选项。

黄金法则:您不能删除使用 var 声明的任何内容

如果你想通过清理全局范围来破解你的方式,你可以通过探索窗口对象的键来识别你添加的内容。

Object.keys(window)

记下要删除的密钥,然后尝试删除它们:

['a', 'x'].map(prop => delete window[prop]);

删除将尝试从窗口对象中删除该属性并返回布尔结果,因此您最终可能会得到类似

[true, false]

这表明第一项已删除,但不幸的是,第二项未被删除。

在您的情况下,您可以将 x 变量分配给 null,以便将其标记为垃圾回收,但窗口对象何时会超出范围?

清除功能只是从控制台中删除文本。

没有从 JS 中删除所有现有变量或清除缓存的机制。

打开"网络"选项卡并勾选"禁用缓存",然后刷新页面以执行此操作。

当我

尝试多次运行代码片段而不刷新页面时,我遇到了在代码段中声明的 const 变量的以下问题。

 SyntaxError: Identifier 'MY_CONST_VARIABLE' has already been declared

如果您在控制台或代码段中创建了变量,并且只想清除这些变量,而不是使用脚本标签添加到 html 页面的 js 文件创建的变量,那么您只需刷新浏览器页面,您使用"控制台和代码段"创建的所有变量都将被删除。

最新更新