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

问题描述 投票:3回答:3

在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

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

javascript
3个回答
1
投票

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

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

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

Object.keys(window)

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

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

Delete将尝试从window对象中删除该属性并返回一个布尔结果,因此您最终可能会收到类似的响应

[true, false]

这表明第一个项目已被删除,但遗憾的是第二个项目未被删除。

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


-1
投票

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

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

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


-1
投票

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

 SyntaxError: Identifier 'MY_CONST_VARIABLE' has already been declared

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

© www.soinside.com 2019 - 2024. All rights reserved.