我在模块中编写代码,每个模块都可以单独调试。我想在模块级别打开或关闭 console.log
消息,以便只关注我正在处理的模块。
我可以为每个模块设置一个 _debug_
变量,将其设置为 true
或 false
,然后编写日志消息,例如
if(_debug_) {
console.log('The is a debug message.');
}
我觉得这种方法有点麻烦。我可以做得更好吗?
最佳答案
如果您想禁用调试语句,您可以在进入模块范围时劫持 console
对象。这是生成替代“控制台”对象的简单方法:
function noopConsole()
{
var konsol = {};
function noop(){}
for (var k in window.console)
{
konsol[k] = noop;
}
return konsol;
}
然后,在模块的开头:
var console = _debug_ ? window.console || noopConsole();
就是这样。
关于javascript - 在函数范围内关闭 console.log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7945557/