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

其他回答

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

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

火狐

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从来不是真正未定义的。

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

在早期,JS调试是通过alert()函数执行的——现在这是一种过时的做法。

console.log()是一个函数,它在调试控制台(如Webkit或Firebug)上写入一条消息以记录日志。在浏览器中,你在屏幕上看不到任何东西。它将一条消息记录到调试控制台。它只在带有Firebug的Firefox和基于Webkit的浏览器(Chrome和Safari)中可用。它在所有IE版本中都不能很好地工作。

控制台对象是DOM的扩展。

console.log()应该仅在开发和调试期间在代码中使用。

将console.log()留在生产服务器上的javascript文件中被认为是一种坏习惯。

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

console.log('Testing console');

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