我如何打印消息到错误控制台,最好包括一个变量?
例如,像这样:
print('x=%d', x);
我如何打印消息到错误控制台,最好包括一个变量?
例如,像这样:
print('x=%d', x);
当前回答
console.error(message); // Outputs an error message to the Web Console
console.log(message); // Outputs a message to the Web Console
console.warn(message); // Outputs a warning message to the Web Console
console.info(message); // Outputs an informational message to the Web Console. In some browsers it shows a small "i" in front of the message.
你也可以添加CSS:
console.log('%c My message here', "background: blue; color: white; padding-left:10px;");
更多信息可以在这里找到:https://developer.mozilla.org/en-US/docs/Web/API/console
其他回答
在《调试JavaScript:扔掉你的提醒!》中概述了一种跨浏览器的好方法。
为了回答你的问题,你可以使用ES6的特性,
var var=10;
console.log(`var=${var}`);
这不会打印到控制台,但会打开一个警告弹出窗口,其中包含你的消息,这可能对一些调试有用:
只做:
alert("message");
像往常一样,Internet Explorer是让您无法使用console.log()的笨重的旱冰鞋。
jQuery的日志可以很容易地进行调整,但是在任何地方都要添加它是一种痛苦。如果你正在使用jQuery,一个解决方案是把它放在你的jQuery文件的最后,首先缩小:
function log()
{
if (arguments.length > 0)
{
// Join for graceful degregation
var args = (arguments.length > 1) ? Array.prototype.join.call(arguments, " ") : arguments[0];
// This is the standard; Firebug and newer WebKit browsers support this.
try {
console.log(args);
return true;
} catch(e) {
// Newer Opera browsers support posting erros to their consoles.
try {
opera.postError(args);
return true;
}
catch(e)
{
}
}
// Catch all; a good old alert box.
alert(args);
return false;
}
}
WebKit Web Inspector还支持Firebug的控制台API(只是Dan回答的一个小补充)。