谷歌对我没有帮助,因为搜索“console.debug”只会出现一堆带有“控制台”和“调试”字样的页面。
我想知道console.log()和console.debug()之间的区别是什么。是否有某种方法可以使用一堆console.debug()语句,然后只需按下开关就可以轻松关闭所有调试语句,使其不被发送到控制台(比如在启动站点之后)?
谷歌对我没有帮助,因为搜索“console.debug”只会出现一堆带有“控制台”和“调试”字样的页面。
我想知道console.log()和console.debug()之间的区别是什么。是否有某种方法可以使用一堆console.debug()语句,然后只需按下开关就可以轻松关闭所有调试语句,使其不被发送到控制台(比如在启动站点之后)?
当前回答
我知道它很旧了,但是继续@Espen的回答,你可以分离职责,使用console.log作为你的常规日志,这些日志也应该出现在生产中,而对于console.debug,你可以这样做:
if (env === 'production') {
console.debug = function () {};
}
这将覆盖console.debug并且它不会打印任何东西。 这样,您就不必担心在prod环境中应该出现的东西。
其他回答
从浏览器文档中,log,debugand info方法在实现上是相同的,但颜色和图标不同
https://jsfiddle.net/yp4z76gg/1/
严格来说console.log console.debug和console.info是一样的 然而,它们显示数据的方式略有不同。console.debug在浏览器的JS控制台中默认是不可见的。可以通过使用控制台的筛选器选项启用它。
console.log黑色文本,没有图标
带有图标的蓝色文本
纯黑色文本
控制台。警告带有图标的黄色文本
控制台。带有图标的红色文本错误
var playerOne = 120; var playerTwo = 130; var player3 = 140; var playerFour = 150; var playerFive = 160; log控制台(“log控制台”+“+ playerOne”); 调试控制台。 游戏机warn(“游戏机。(“+”“+玩家”); 信息领事(“信息领事”+“+玩家”); 游戏机问题(“游戏机。错误“+”+玩家5);
Console.info、console.debug方法与console.log相同。
console.log打印语句 console.info黑色文本,带有蓝色的“i”图标 蓝色文本
文档:
铬 即 边缘 火狐 Safari
至少对于IE, Firefox和Chrome控制台,.debug()只是.log()的别名,以提高兼容性
https://developer.mozilla.org/en-US/docs/Web/API/console
https://developers.google.com/chrome-developer-tools/docs/console-api#consoledebugobject_object
https://msdn.microsoft.com/en-us/library/ie/hh772183 (v = vs.85) . aspx
我知道它很旧了,但是继续@Espen的回答,你可以分离职责,使用console.log作为你的常规日志,这些日志也应该出现在生产中,而对于console.debug,你可以这样做:
if (env === 'production') {
console.debug = function () {};
}
这将覆盖console.debug并且它不会打印任何东西。 这样,您就不必担心在prod环境中应该出现的东西。