如何快速方便地禁用代码中的所有控制台日志语句?

如何快速方便地禁用代码中的所有控制台日志语句?

有没有办法关掉所有console.log用于测试目的JavaScript代码中的语句?



哆啦的时光机
浏览 358回答 3
3回答

青春有我

以下内容更为彻底:var&nbsp;DEBUG&nbsp;=&nbsp;false;if(!DEBUG){ &nbsp;&nbsp;&nbsp;&nbsp;if(!window.console)&nbsp;window.console&nbsp;=&nbsp;{}; &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;methods&nbsp;=&nbsp;["log",&nbsp;"debug",&nbsp;"warn",&nbsp;"info"]; &nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;i=0;i<methods.length;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console[methods[i]]&nbsp;=&nbsp;function(){}; &nbsp;&nbsp;&nbsp;&nbsp;}}如果存在,这将使控制台中的常用方法为零,并且可以在没有错误和几乎没有性能开销的情况下调用它们。对于没有控制台的IE6这样的浏览器,将创建虚拟方法以防止错误。当然,Firebug中还有更多的函数,如跟踪、配置文件、时间等等。如果在代码中使用它们,可以将它们添加到列表中。您还可以检查调试器是否有这些特殊方法(例如,IE),并将不支持的方法清零:if(window.console&nbsp;&&&nbsp;!console.dir){var&nbsp;methods&nbsp;=&nbsp;["dir",&nbsp;"dirxml",&nbsp;"trace",&nbsp;"profile"];&nbsp;//etc&nbsp;etc &nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;i=0;i<methods.length;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console[methods[i]]&nbsp;=&nbsp;function(){}; &nbsp;&nbsp;&nbsp;&nbsp;}}

慕码人8056858

据我所知文献资料,Firebug不提供任何变量来切换调试状态。相反,在有条件地调用它的包装器中包装控制台.log(),即:DEBUG&nbsp;=&nbsp;true;&nbsp;//&nbsp;set&nbsp;to&nbsp;false&nbsp;to&nbsp;disable&nbsp;debuggingfunction&nbsp;debug_log()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;DEBUG&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log.apply(this,&nbsp;arguments); &nbsp;&nbsp;&nbsp;&nbsp;}}要避免更改所有现有调用,可以使用以下方法:DEBUG&nbsp;=&nbsp;true;&nbsp;//&nbsp;set&nbsp;to&nbsp;false&nbsp;to&nbsp;disable&nbsp;debuggingold_console_log&nbsp;=&nbsp;console.log;console.log&nbsp;=&nbsp;function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;DEBUG&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;old_console_log.apply(this,&nbsp;arguments); &nbsp;&nbsp;&nbsp;&nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript