console.log有什么用?

请用一个代码示例解释如何在JavaScript中使用它。


当前回答

除了上面提到的用法,console.log也可以在node.js中打印到终端。使用express(例如)创建的服务器可以使用console.log写入输出记录器文件。

其他回答

console.log将调试信息记录到某些浏览器(安装了Firebug的Firefox, Chrome, IE8,任何安装了Firebug Lite的浏览器)的控制台。在Firefox上,它是一个非常强大的工具,允许您检查对象或HTML元素的布局或其他属性。它与jQuery无关,但在使用jQuery时,通常会做两件事:

为Firebug安装firerequery扩展。除了其他优点外,这使得jQuery对象的日志记录看起来更好。 创建一个更符合jQuery链接代码约定的包装器。

这通常是这样的意思:

$.fn.log = function() {
    if (window.console && console.log) {
        console.log(this);
    }
    return this;
}

你可以调用它,比如

$('foo.bar').find(':baz').log().hide();

轻松检查jQuery链内部。

A point of confusion sometimes is that to log a text message along with the contents of one of your objects using console.log, you have to pass each one of the two as a different argument. This means that you have to separate them by commas because if you were to use the + operator to concatenate the outputs, this would implicitly call the .toString() method of your object. This in most cases is not explicitly overriden and the default implementation inherited by Object doesn't provide any useful information.

在控制台尝试的例子:

>>> var myObj = {foo: 'bar'}
undefined
>>> console.log('myObj is: ', myObj);
myObj is: Object { foo= "bar"}

然而,如果你试图连接信息文本消息与对象的内容,你会得到:

>>> console.log('myObj is: ' + myObj);
myObj is: [object Object]

请记住,console。log实际上可以接受任意多的参数。

当我开始console.log进行调试时,我真的觉得web编程很容易。

var i;

如果我想检查i运行时的值..

console.log(i);

您可以在firebug的console选项卡中检查I的当前值。它是专门用于调试。

console.log与jQuery无关。它是由调试器(包括Chrome调试器和Firebug)提供的一个通用对象/方法,允许脚本将数据(或大多数情况下的对象)记录到JavaScript控制台。

注意:在您的产品代码中保留对控制台的调用将导致您的站点在Internet Explorer中崩溃。永远不要打开包装。参见:https://web.archive.org/web/20150908041020/blog.patspam.com/2009/the-curse-of-consolelog