什么是console.log?

感情迁移 提交于 2020-02-27 11:36:37

console.log什么用?

请通过代码示例说明如何在JavaScript中使用它。


#1楼

一个示例-假设您想知道能够运行程序的哪一行代码(在程序崩溃之前!),只需键入

console.log("You made it to line 26. But then something went very, very wrong.")

#2楼

您可以查看控制台的地方! 只是让他们都在一个答案中。

火狐浏览器

http://getfirebug.com/

(您现在也可以使用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。

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!