有什么用console.log
?
请用代码示例解释如何在 JavaScript 中使用它。
有什么用console.log
?
请用代码示例解释如何在 JavaScript 中使用它。
它不是 jQuery 功能,而是用于调试目的的功能。例如,当发生某些事情时,您可以将某些内容记录到控制台。例如:
$('#someButton').click(function() {
console.log('#someButton was clicked');
// do something
});
然后#someButton was clicked
,当您单击按钮时,您会在 Firebug 的“控制台”选项卡(或其他工具的控制台 — 例如 Chrome 的 Web Inspector)中看到。
由于某些原因,控制台对象可能不可用。然后您可以检查它是否是 - 这很有用,因为您在部署到生产时不必删除调试代码:
if (window.console && window.console.log) {
// console is available
}
可以查看控制台的地方!只是将它们全部放在一个答案中。
火狐
(您现在也可以使用 Firefox 的内置开发人员工具 Ctrl+Shift+J(工具 > Web 开发人员 > 错误控制台),但 Firebug 更好;使用 Firebug)
Safari 和 Chrome
基本一样。
https://developers.google.com/chrome-developer-tools/docs/overview
https://developer.apple.com/technologies/safari/developer-tools.html
IE浏览器
别忘了你可以使用兼容模式在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
如果您必须在 IE6 中访问 IE7 控制台,请使用 Firebug Lite 书签
http://getfirebug.com/firebuglite/寻找稳定的书签
http://en.wikipedia.org/wiki/Bookmarklet
歌剧
http://www.opera.com/dragonfly/
IOS
适用于所有 iPhone、iPod touch 和 iPad。
现在使用 iOS 6,如果您插入设备,您可以通过 OS X 中的 Safari 查看控制台。或者您可以使用模拟器执行此操作,只需打开 Safari 浏览器窗口并转到“开发”选项卡。在那里,您会找到让 Safari 检查器与您的设备进行通信的选项。
视窗手机、安卓
这两者都没有内置控制台,也没有书签功能。所以我们使用 http://jsconsole.com/ type :listen 它会给你一个脚本标签来放置在你的 HTML 中。从那时起,您可以在 jsconsole 网站内查看您的控制台。
iOS和安卓
您还可以使用http://html.adobe.com/edge/inspect/使用其方便的浏览器插件在任何设备上访问 Web 检查器工具和控制台。
旧浏览器问题
最后,如果您在代码中使用 console.log 并且没有同时打开开发人员工具,旧版本的 IE 将崩溃。幸运的是,这是一个简单的修复。使用代码顶部的以下代码片段:
if(!window.console){ window.console = {log: function(){} }; }
这会检查控制台是否存在,如果不存在,则将其设置为具有名为 的空白函数的对象log
。这样 window.console 和 window.console.log 永远不会真正undefined.
如果您使用 Firebug 等工具检查代码,则可以查看记录到控制台的任何消息。假设你这样做:
console.log('Testing console');
当您在 Firebug(或您决定用来检查代码的任何工具)中访问控制台时,您将看到您告诉函数记录的任何消息。当您想查看函数是否正在执行,或者变量是否被正确传递/分配时,这特别有用。实际上,找出代码出了什么问题非常有value。
它将向浏览器的 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 ,我建议您阅读它。(跟踪、组、分析、对象检查)。
希望这可以帮助!
与 jQuery 无关,如果您想使用它,我建议您这样做
if (window.console) {
console.log("your message")
}
因此,当代码不可用时,您不会破坏代码。
正如评论中所建议的,您也可以在一个地方执行它,然后console.log
正常使用
if (!window.console) { window.console = { log: function(){} }; }