我如何打印消息到错误控制台,最好包括一个变量?
例如,像这样:
print('x=%d', x);
我如何打印消息到错误控制台,最好包括一个变量?
例如,像这样:
print('x=%d', x);
当前回答
异常被记录到JavaScript控制台。如果你想禁用Firebug,你可以使用它。
function log(msg) {
setTimeout(function() {
throw new Error(msg);
}, 0);
}
用法:
log('Hello World');
log('another message');
其他回答
访问https://developer.chrome.com/devtools/docs/console-api获取完整的控制台api参考
console.error(object[Obj,....])\
在本例中,object将是错误字符串
函数foo() { 功能栏(){ 控制台。trace(" trace is Done here"); } 酒吧(); } foo ();
console.log(console); //to print console object console.clear('console.clear'); //to clear console console.log('console.log'); //to print log message console.info('console.info'); //to print log message console.debug('console.debug'); //to debug message console.warn('console.warn'); //to print Warning console.error('console.error'); //to print Error console.table(["car", "fruits", "color"]);//to print data in table structure console.assert('console.assert'); //to print Error console.dir({"name":"test"});//to print object console.dirxml({"name":"test"});//to print object as xml formate
To Print Error:- console.error('x=%d', x);
console.log(“这是外层”); console.group (); console.log(“二级”); console.group (); console.log(“三级”); 控制台。warn("More of level 3"); console.groupEnd (); console.log(“回到级别2”); console.groupEnd (); console.log(“回到外层”);
下面是如何将消息打印到浏览器的错误控制台(而不是调试器控制台)的解决方案。(可能有很好的理由绕过调试器。)
正如我在关于建议抛出错误以在错误控制台中获取消息的注释中所指出的,一个问题是这将中断执行线程。如果不想中断线程,可以在使用setTimeout创建的单独线程中抛出错误。因此,我的解决方案(这是Ivo Danihelka的一个详细阐述):
var startTime = (new Date()).getTime();
function logError(msg)
{
var milliseconds = (new Date()).getTime() - startTime;
window.setTimeout(function () {
throw( new Error(milliseconds + ': ' + msg, "") );
});
}
logError('testing');
我以毫秒为单位包含了从开始时间到现在的时间,因为超时可能会打乱您期望看到消息的顺序。
Error方法的第二个参数是文件名,这里是一个空字符串,以防止输出无用的文件名和行号。可以获得调用方函数,但不能以简单的独立于浏览器的方式获得。
如果我们可以用警告或消息图标而不是错误图标来显示消息,那就太好了,但我找不到一种方法来做到这一点。
使用throw的另一个问题是,它可能会被一个封闭的try-catch捕获和丢弃,将throw放在一个单独的线程中也可以避免这个障碍。然而,还有另一种方法可以捕获错误,即如果窗口。Onerror处理程序被替换为执行不同操作的处理程序。我帮不了你。
关于上面提到的'throw()'的注意事项。它似乎完全停止了页面的执行(我在IE8中检查了),所以它对于记录“正在进行的进程”并不是很有用(比如跟踪某个变量……)
我的建议是在文档的某个地方添加一个textarea元素,并在需要时更改(或追加)它的值(这将更改其文本)以记录信息…
最简单的方法是:
console.warn("Text to print on console");