console.log有什么用?
请用一个代码示例解释如何在JavaScript中使用它。
console.log有什么用?
请用一个代码示例解释如何在JavaScript中使用它。
当前回答
console.log与jQuery无关。它是由调试器(包括Chrome调试器和Firebug)提供的一个通用对象/方法,允许脚本将数据(或大多数情况下的对象)记录到JavaScript控制台。
其他回答
console.log与jQuery无关。它是由调试器(包括Chrome调试器和Firebug)提供的一个通用对象/方法,允许脚本将数据(或大多数情况下的对象)记录到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链内部。
可以查看控制台的地方!把它们都放在一个答案里。
火狐
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从来不是真正未定义的。
jQuery没有什么可做的,如果你想使用它,我建议你去做
if (window.console) {
console.log("your message")
}
因此,当代码不可用时,您不会破坏代码。
正如评论中所建议的,您也可以在一个地方执行该命令,然后正常使用console.log
if (!window.console) { window.console = { log: function(){} }; }
它会发布一个日志消息到浏览器的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,我建议您阅读它。(跟踪、组、分析、对象检查)。
希望这能有所帮助!