console.log有什么用?
请用一个代码示例解释如何在JavaScript中使用它。
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(或您决定使用的任何工具来检查代码)中的控制台时,您将看到您告诉函数要记录的任何消息。当您想要查看函数是否正在执行,或者变量是否被正确传递/赋值时,这特别有用。实际上,它对于找出代码中的错误是很有价值的。