我的脚本中有很多console.log,当我没有打开控制台时,我不希望它们放慢我的脚本的速度。
所以我的问题是,它们在控制台关闭时是否执行? 因为如果这样做,我将不得不将其注释掉,然后在每次需要看到它们时都取消注释它们。
是的,无需在网页上打开控制台即可执行代码中的console.log()
。
在我所知道的所有浏览器中,即使关闭了控制台,它们仍会执行-例如,尝试在关闭控制台的情况下运行以下代码,然后在5秒钟后打开控制台,您会发现控制台确实已经关闭了。填充文本:
setInterval(() => { console.log('log'); }, 1000);
console.log
对性能的影响几乎为零,但是如果您想要一种简单的方法来切换在console.log
调用打印到控制台之间执行任何操作,则可以在用户脚本的顶层定义一个console
变量,具有不执行任何操作的log
功能,因此在用户脚本范围内隐藏了 window.console.log
:
const console = { log: () => void 0 }; console.log('foo');
要再次正常打印到控制台,只需注释掉const console...
行(或使用布尔变量doPrintToConsole
或其他内容)即可。
这不会阻止本地页面脚本进入console.log
ging。 (如果要阻止本机页面脚本这样做,请改写window.console.log
);