console.log
什么用?
请通过代码示例说明如何在JavaScript中使用它。
#1楼
一个示例-假设您想知道能够运行程序的哪一行代码(在程序崩溃之前!),只需键入
console.log("You made it to line 26. But then something went very, very wrong.")
#2楼
您可以查看控制台的地方! 只是让他们都在一个答案中。
火狐浏览器
(您现在也可以使用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/zh-CN/library/ie/gg589507(v=vs.85).aspx
http://msdn.microsoft.com/zh-CN/library/dd565628(v=vs.85).aspx
如果您必须在IE6中访问IE7的控制台,请使用Firebug Lite书签
http://getfirebug.com/firebuglite/寻找稳定的书签
http://en.wikipedia.org/wiki/书签
歌剧
http://www.opera.com/dragonfly/
的iOS
适用于所有iPhone,iPod touch和iPad。
现在,在iOS 6中,如果插入设备,则可以通过OS X中的Safari查看控制台。 或者,您可以使用仿真器执行此操作,只需打开Safari浏览器窗口,然后转到“开发”标签。 在这里,您会找到使Safari检查器与您的设备进行通信的选项。
Windows Phone,Android
这两个都没有内置控制台,也没有书签功能。 因此,我们使用http://jsconsole.com/键入:listen,它将为您提供一个脚本标记以放置在HTML中。 从那时起,您可以在jsconsole网站中查看控制台。
iOS和Android
您还可以使用方便的浏览器插件,使用http://html.adobe.com/edge/inspect/来访问任何设备上的Web检查器工具和控制台。
较旧的浏览器问题
最后,如果您在代码中使用console.log并且没有同时打开开发人员工具,则IE的较旧版本将崩溃。 幸运的是,这很容易解决。 在代码顶部使用以下代码段:
if(!window.console){ window.console = {log: function(){} }; }
这将检查控制台是否存在,如果不存在,则会将其设置为带有空白函数log
的对象。 这样,window.console和window.console.log永远不会真正地undefined.
#3楼
有时,一个混淆点是,要使用console.log记录一条文本消息以及一个对象的内容,您必须将两个对象中的每个作为不同的参数传递。 这意味着您必须用逗号将它们分开,因为如果要使用+运算符连接输出,则将隐式调用对象的.toString()
方法。 在大多数情况下,不会显式覆盖此方法,并且Object
继承的默认实现不会提供任何有用的信息。
在控制台中尝试的示例:
>>> var myObj = {foo: 'bar'}
undefined
>>> console.log('myObj is: ', myObj);
myObj is: Object { foo= "bar"}
而如果您尝试将信息丰富的文本消息与对象的内容连接起来,则会得到:
>>> console.log('myObj is: ' + myObj);
myObj is: [object Object]
因此请记住,console.log实际上接受了任意多个参数。
#4楼
早期,JS调试是通过alert()
函数执行的-现在已经过时了。
console.log()
是一种写消息以登录调试控制台(例如Webkit或Firebug console.log()
的函数。 在浏览器中,您将不会在屏幕上看到任何内容。 它将消息记录到调试控制台。 仅在具有Firebug的Firefox和基于Webkit的浏览器(Chrome和Safari)中可用。 它并非在所有IE版本中都能正常工作 。
控制台对象是DOM的扩展。
仅在开发和调试期间,才应在代码中使用console.log()
。
有人将console.log()
留在生产服务器上的javascript文件中是一种不良做法。
#5楼
除上述用法外, console.log
还可在node.js
打印到终端。 用express创建的服务器(例如)可以使用console.log
写入输出记录器文件。
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3163283