在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]);
Delete将尝试从window对象中删除该属性并返回一个布尔结果,因此您最终可能会收到类似的响应
[true, false]
这表明第一个项目已被删除,但遗憾的是第二个项目未被删除。
在您的情况下,您可以将x变量指定为null,以便将其标记为垃圾收集但是窗口对象什么时候超出范围?
当我尝试在不刷新页面的情况下多次运行代码段时,我面临着在代码段内声明的const变量的问题。
SyntaxError: Identifier 'MY_CONST_VARIABLE' has already been declared
如果您在控制台或代码段中创建了变量,并且想要清除那些变量而不是使用脚本标记添加到html页面的js文件创建的变量,那么您只需刷新浏览器页面以及使用“console”创建的所有变量和片段“将被删除。