console.log有什么用?

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


当前回答

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

其他回答

您可以使用它在Firefox的Firebug或WebKit浏览器的JavaScript控制台中调试JavaScript代码。

var variable;

console.log(variable);

它将显示变量的内容,即使它是一个数组或对象。

它类似于print_r($var);PHP。

它会发布一个日志消息到浏览器的javascript控制台,例如Firebug或开发者工具(Chrome / Safari),并将显示执行它的行和文件。

此外,当你输出一个jQuery对象时,它会在DOM中包含对该元素的引用,点击它就会在Elements/HTML选项卡中找到该元素。

您可以使用各种方法,但要注意,要在Firefox中工作,必须打开Firebug,否则整个页面将崩溃。无论你记录的是一个变量、数组、对象还是DOM元素,它都会给你一个完整的分解,包括对象的原型(总是有趣的)。您还可以包含任意数量的参数,它们将被空格替换。

console.log(  myvar, "Logged!");
console.info( myvar, "Logged!");
console.warn( myvar, "Logged!");
console.debug(myvar, "Logged!");
console.error(myvar, "Logged!");

每个命令都显示不同的标识。

你也可以使用console.profile(profileName);开始分析一个函数,脚本等。然后用console.profileEnd(profileName)结束它;它会显示在你的Chrome配置文件选项卡(不知道与FF)。

要获得完整的参考,请访问http://getfirebug.com/logging,我建议您阅读它。(跟踪、组、分析、对象检查)。

希望这能有所帮助!

可以查看控制台的地方!把它们都放在一个答案里。

火狐

http://getfirebug.com/

(你现在也可以使用Firefox内置的开发工具Ctrl+Shift+J (tools > Web developer > Error Console),但Firebug要好得多;使用Firebug)

Safari和Chrome浏览器

基本一样。

https://developers.google.com/chrome-developer-tools/docs/overview

https://developer.apple.com/technologies/safari/developer-tools.html

Internet Explorer

别忘了你可以在IE9或IE10中使用兼容性模式来调试IE7和IE8

http://msdn.microsoft.com/en-us/library/ie/gg589507 (v = vs.85) . aspx

http://msdn.microsoft.com/en-us/library/dd565628 (v = vs.85) . aspx

如果你必须在IE7中访问IE6的控制台,请使用Firebug Lite书签

http://getfirebug.com/firebuglite/寻找稳定的bookmarklet

http://en.wikipedia.org/wiki/Bookmarklet

歌剧

http://www.opera.com/dragonfly/

iOS

适用于所有iphone, iPod touch和ipad。

http://developer.apple.com/library/ios/ipad/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/DebuggingSafarioniPhoneContent/DebuggingSafarioniPhoneContent.html

现在,在iOS 6中,你可以在OS X中通过Safari查看控制台,只要你插入你的设备。或者你也可以使用模拟器,简单地打开Safari浏览器窗口,然后转到“开发”选项卡。在那里,您可以找到让Safari检查器与您的设备通信的选项。

Windows Phone, Android

它们都没有内置控制台,也没有书签功能。所以我们用 http://jsconsole.com/类型:听,它会给你一个脚本标签放在你的HTML。从那时起,您可以在jsconsole网站中查看您的控制台。

iOS和Android

您还可以使用http://html.adobe.com/edge/inspect/访问web检查器工具和任何设备上的控制台,使用他们方便的浏览器插件。


旧的浏览器问题

最后,如果你使用console.log登录代码,而没有同时打开开发工具,旧版本的IE会崩溃。幸运的是,这很容易解决。在你的代码顶部使用下面的代码片段:

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

这将检查控制台是否存在,如果不存在,则将其设置为一个带有名为log的空白函数的对象。这边的窗户。Console和window.console.log从来不是真正未定义的。

log是开发人员编写代码的一种方法,它可以不引人注目地通知开发人员代码正在做什么。它可以用来提醒您存在问题,但在调试代码时不应该取代交互式调试器。它的异步性质意味着记录的值不一定代表调用方法时的值。

简而言之:使用console.log(如果可用)记录错误,然后使用您选择的调试器:Firebug, WebKit开发工具(Safari和Chrome内置),IE开发工具或Visual Studio修复错误。

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

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

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

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

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