在开发者工具中' 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
对此的任何帮助将不胜感激。
答案 0 :(得分:1)
清除控制台历史记录很简单,右键单击控制台窗口并选择"清除控制台历史记录"上下文菜单中的选项。
黄金法则:您无法删除使用var
声明的任何内容如果您希望通过清理全局范围来破解自己的方式,可以通过浏览窗口对象的键来识别您添加的内容。
Object.keys(window)
记下要删除的密钥,然后尝试删除它们:
['a', 'x'].map(prop => delete window[prop]);
Delete将尝试从window对象中删除该属性并返回一个布尔结果,因此最终可能会得到一个像
这样的响应[true, false]
这表示第一项被删除但不幸的是第二项没有删除。
在您的情况下,您可以将x变量指定为null,以便将其标记为垃圾回收,但窗口对象何时超出范围?
答案 1 :(得分:-1)
答案 2 :(得分:-1)
当我尝试多次运行代码段而不刷新页面时,我面临代码段内声明的const变量的以下问题。
SyntaxError: Identifier 'MY_CONST_VARIABLE' has already been declared
如果您在控制台或代码段中创建了变量,并且只想清除这些变量,而不是清除使用script标签添加到html页面中的js文件创建的变量,那么您只需刷新浏览器页面以及您创建的所有变量使用“控制台和摘要”将被删除。