console.log有什么用?

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


当前回答

它不是jQuery特性,而是用于调试的特性。例如,当发生一些事情时,您可以将一些事情记录到控制台。例如:

$('#someButton').click(function() {
  console.log('#someButton was clicked');
  // do something
});

当你点击按钮时,你会看到#someButton在Firebug的“控制台”选项卡(或其他工具的控制台-例如Chrome的Web检查器)中被点击。

由于某些原因,控制台对象可能不可用。然后你可以检查它是否正确——这很有用,因为当你部署到生产环境时,你不必删除调试代码:

if (window.console && window.console.log) {
  // console is available
}

其他回答

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

var i;

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

console.log(i);

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

jQuery没有什么可做的,如果你想使用它,我建议你去做

if (window.console) {
    console.log("your message")
}

因此,当代码不可用时,您不会破坏代码。

正如评论中所建议的,您也可以在一个地方执行该命令,然后正常使用console.log

if (!window.console) { window.console = { log: function(){} }; }

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链内部。

使用console.log向页面添加调试信息。

许多人使用alert(hasNinjas)来实现这一目的,但是console.log(hasNinjas)更容易使用。使用警报弹出一个模态对话框,阻止用户界面。

编辑:我同意巴蒂斯特·佩尔内特和扬·汉尼克的观点,检查窗口是一个非常好的主意。首先定义Console,以便在没有可用的控制台时代码不会中断。

如果使用Firebug等工具检查代码,则可以查看记录到控制台的任何消息。假设你这样做:

console.log('Testing console');

当您访问Firebug(或您决定使用的任何工具来检查代码)中的控制台时,您将看到您告诉函数要记录的任何消息。当您想要查看函数是否正在执行,或者变量是否被正确传递/赋值时,这特别有用。实际上,它对于找出代码中的错误是很有价值的。