console.log有什么用?
请用一个代码示例解释如何在JavaScript中使用它。
console.log有什么用?
请用一个代码示例解释如何在JavaScript中使用它。
当前回答
log是开发人员编写代码的一种方法,它可以不引人注目地通知开发人员代码正在做什么。它可以用来提醒您存在问题,但在调试代码时不应该取代交互式调试器。它的异步性质意味着记录的值不一定代表调用方法时的值。
简而言之:使用console.log(如果可用)记录错误,然后使用您选择的调试器:Firebug, WebKit开发工具(Safari和Chrome内置),IE开发工具或Visual Studio修复错误。
其他回答
jQuery没有什么可做的,如果你想使用它,我建议你去做
if (window.console) {
console.log("your message")
}
因此,当代码不可用时,您不会破坏代码。
正如评论中所建议的,您也可以在一个地方执行该命令,然后正常使用console.log
if (!window.console) { window.console = { log: function(){} }; }
可以查看控制台的地方!把它们都放在一个答案里。
火狐
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()用于开发人员记录输出信息。
您还有如下所示的其他控制台方法
console.assert ()
//如果第一个参数为假,记录消息和堆栈跟踪到控制台。
console.clear ()
//清除控制台。
console.count ()
//记录使用给定标签调用该行的次数。
控制台countReset()。
//重置带有给定标签的计数器的值。
console.debug ()
//输出消息到控制台,日志级别为debug。
控制台dir()。
//显示指定JavaScript对象属性的交互式列表。这个清单允许您使用公开三角形来检查子对象的内容。
控制台dirxml()。
//如果可能,显示指定对象的XML/HTML元素表示;如果不可能,显示JavaScript对象视图。
console.error ()
//输出错误信息。您可以在此方法中使用字符串替换和附加参数。
console.exception ()
/ /非标准 // error()的别名。
console.group ()
//创建一个新的内联组,将输出后面的所有内容缩进另一层。要后退一层,调用groupEnd()。
console.groupCollapsed ()
//创建一个新的内联组,将输出后面的所有内容缩进另一层。但是,与group()不同的是,它从内嵌组开始折叠,需要使用一个公开按钮来展开它。要后退一层,调用groupEnd()。
console.groupEnd ()
//退出当前内联组。
console.info ()
//信息记录。您可以在此方法中使用字符串替换和附加参数。
console.log ()
//日志信息的一般输出。您可以在此方法中使用字符串替换和附加参数。
console.profile ()
/ /非标准 //启动浏览器内置的分析器(例如,Firefox性能工具)。您可以为概要文件指定一个可选的名称。
控制台profileEnd()。
/ /非标准 //停止分析器。您可以在浏览器的性能工具(例如,Firefox性能工具)中看到生成的概要文件。
console.table ()
//将表格数据显示为表。
console.time ()
//使用指定的名称作为输入参数启动计时器。在给定的页面上可以同时运行多达10,000个计时器。
console.timeEnd()
//停止指定的计时器,并以毫秒为单位记录从它启动以来经过的时间。
控制台timeLog()。
//将指定定时器的值记录到控制台。
console.timeStamp ()
/ /非标准 //添加一个标记到浏览器的时间轴或瀑布工具。
console.trace ()
//输出堆栈跟踪。
console.warn ()
举个例子——假设你想知道哪行代码可以运行你的程序(在它崩溃之前!),只需输入
console.log("You made it to line 26. But then something went very, very wrong.")
除了上面提到的用法,console.log也可以在node.js中打印到终端。使用express(例如)创建的服务器可以使用console.log写入输出记录器文件。