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写入输出记录器文件。