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

时间:2017-01-14 21:50:01

标签: 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

对此的任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

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

黄金法则:您无法删除使用var

声明的任何内容

如果您希望通过清理全局范围来破解自己的方式,可以通过浏览窗口对象的键来识别您添加的内容。

Object.keys(window)

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

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

Delete将尝试从window对象中删除该属性并返回一个布尔结果,因此最终可能会得到一个像

这样的响应
[true, false]

这表示第一项被删除但不幸的是第二项没有删除。

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

答案 1 :(得分:-1)

clear function只是从控制台中删除了文本。

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

打开“网络”选项卡,然后勾选“#34;禁用缓存"然后刷新页面来做到这一点。

答案 2 :(得分:-1)

当我尝试多次运行代码段而不刷新页面时,我面临代码段内声明的const变量的以下问题。

 SyntaxError: Identifier 'MY_CONST_VARIABLE' has already been declared

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