开发者社区> 吞吞吐吐的> 正文

Console的使用——Google Chrome代码调试

简介:
+关注继续查看

Google Chrome控制台为开发者提供了网页和应用程序调试的几种方法,本文通过基本操作、控制台API、命令行API来介绍控制台的使用。


基本操作
1、开启控制台
    可以通过下列三种方式开启控制台:
    a) 按下Chrome界面右上方的Console的使用Google <wbr>Chrome代码调试(一)按钮,选择菜单:更多工具->开发者工具,进入开发者工具界面,点击该界面右上方的Console的使用Google <wbr>Chrome代码调试(一)控制台显示按钮。
    b) 按下快捷键CTRL-SHIFT-I,打开开发者工具,点击该界面右上方的Console的使用Google <wbr>Chrome代码调试(一)控制台显示按钮。
    c) 按下快捷键CTRL-SHIFT-J,直接打开调试界面及控制台。
2、清空控制台
    可以通过下列两种方式清空控制台:
    a) 在控制台内,选择右键快捷菜单:Clear console
    b) 在控制台内输入命令:clear()
    c) 在javascript代码中使用方法:console.clear()
    d) 在控制台内,选择左上角的Console的使用Google <wbr>Chrome代码调试(一)按钮。
3、保留日志记录
    默认情况下,在页面刷新或跳转到其他页面时,控制台的日志记录全部会清空。此时,若需要进行保留,则需要将控制台的Preserve log选项选中。
4、记录所有XHR请求
    若需要对所有XHR请求记录日志,则可以通过右键快捷菜单Log XMLHTTPRequests来实现。
 
控制台API
1、控制台日志输出
    console.log()
    log方法可以将括号内的一个或多个表达式以字符串形式输出至控制台。各表达式之间用逗号隔开,逗号的实际效果与加号一样。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)
    结果如下:
    Console的使用Google <wbr>Chrome代码调试(一)
2、错误和警告
    console.error()——输出错误信息
    console.warn()——输出警告信息
    error()方法将以红色字体向控制台输出指定的内容,而warn()方法以黑色字体显示输出内容。两者均不会阻断程序代码的运行。两者均支持格式化字符串,与C语言的printf类似,具体支持的格式化类型见后面表格。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)
    结果如下:
    Console的使用Google <wbr>Chrome代码调试(一)
3、断言
    console.assert(boolean, string)
    当第一个参数boolean计算结果为false时,将第二个参数string输出至控制台
4、输出信息分组显示
    console.group(groupString)和console.groupEnd()
    上述一组方法可将执行group和groupEnd方法期间输出至控制台的信息归属于groupString分组显示。分组可以嵌套。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)

    结果如下:

    Console的使用Google <wbr>Chrome代码调试(一)
5、以javascript对象形式格式化DOM元素
    默认情况下,console.log()将以XML形式展示DOM元素。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)
    结果如下:
    Console的使用Google <wbr>Chrome代码调试(一)
    如果希望看到元素拥有哪些属性以及它们的值,那么就需要用到console.dir()方法了,其效果与使用带有%O格式符的console.log()方法一致。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)
    结果如下:
    Console的使用Google <wbr>Chrome代码调试(一)
6、以CSS定义风格输出内容
    Chrome还可以以指定的CSS格式输出显示指定内容。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)
    结果如下:
    Console的使用Google <wbr>Chrome代码调试(一)
7、测量代码执行时间
    console.time(nameString)和console.timeEnd(nameString)
    控制台输出自执行console.time(nameString)方法开始,直至遇到对应的console.timeEnd(nameString)方法的累积执行时间,单位为ms。使用该组方法可以检测函数的执行时间。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)
    结果如下:
    Console的使用Google <wbr>Chrome代码调试(一)
8、设置调试断点
    debugger
    该代码的效果相当于在所在位置设置了一个调试断点,当程序执行到debugger时,会中断执行等待调试。
    注:只有在打开程序员工具时,才有该效果。
9、设置时间轴标签
    console.timeStamp(markName)
    当执行到timeStamp()方法时,会产生一个时间轴标志。该语句仅在启用时间轴面板录制时有效。关于时间轴面板详见后续文章。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)
    结果如下:(见蓝色选中行时间轴:Timestamp:Adding Timeline)
    Console的使用Google <wbr>Chrome代码调试(一)

命令行API
1、计算表达式
    说是计算表达式,其实能执行一切javascript脚本,包括函数、JS代码变量的读取和赋值等。注意:这里所做的一切对当前页面立即生效
2、选择DOM元素
    $(condition)和$$(condition)
    $()返回符合条件的第一个元素,同 document.querySelector()效果一致。$$()以数组形式返回符合条件的所有元素,同document.querySelectorAll()效果一致。
    x(xpath)
    返回符合XPath路径的DOM元素。
3、检测DOM元素和javascript堆对象
    inspect()
    以XML形式展示传入的DOM元素,显示内容与console.log()一致,与$()语句输出一致。若将($_)作为参数传入inspect方法,表示显示最近一次计算的对象。
4、快速选中最近选择的元素
    $0、$1、$2、$3、$4分别表示输出最近一个元素、输出倒数第二个元素、以此类推。
5、对象事件监控
    monitorEvents(obj, event)
    指定监控的对象的所有事件、所有对象的指定事件、指定对象的指定事件。该方法只能指定一个监控对象,但能指定多个事件。有多个事件时,需要以数组的形式传递,如下:
    monitorEvents(obj, [event1,event2,……]
    由于网页事件是可以冒泡的,所以,监控父对象时,子元素的相同事件一并会被监控到。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)

    结果如下:

    Console的使用Google <wbr>Chrome代码调试(一)
6、CPU监控
    profile(fileName)、profileEnd(fileName)
    在Console里执行profile()方法启动一次CPU跟踪记录,profileEnd()结束本次跟踪。若省略fileName参数,则系统自动给予一个名字。当执行profileEnd()方法时,会将当前调试页面切换到profiles面板,并显示本次跟踪的详细信息。其效果与直接在profiles面板中选择Collect javascript CPU profile一致。
    代码举例:
    Console的使用Google <wbr>Chrome代码调试(一)

    结果如下:

    Console的使用Google <wbr>Chrome代码调试(一)

    多个profile()、profileEnd()可以相互间嵌套或者交叉。如:

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/5031786.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用 Chrome Dev tools 分析应用的内存泄漏问题
使用 Chrome Dev tools 分析应用的内存泄漏问题
73 0
.NET性能调优之二:使用Visual Studio进行代码度量
.NET性能调优系列文章 系列文章索引 .NET性能调优之一:ANTS Performance Profiler的使用 .NET性能调优之二:使用Visual Studio进行代码度量 .NET性能调优之三:YSlow相关规则的调优工具和方法 使用Visual Studio进行代码度量 在这篇文章里,暂且抛开代码、数据库和网络的优化,从软件代码度量的角度来看看其对.NET性能调优的作用。
1030 0
fbh
Chrome浏览器强制刷新页面(不使用缓存)
在Chrome浏览器中按下F5或 Ctrl+F5 都没用,Chrome总是会强制使用页面缓存进行刷新,如何不使用页面缓存进行刷新? Chrome官方推荐使用如下快捷键,就可以不使用页面缓存进行刷新 Windows和Linu...
4852 0
使用Chrome development tool查看代码内存泄露
使用Chrome development tool查看代码内存泄露
36 0
使用Chrome的inspect element注意事项
使用Chrome的inspect element注意事项
35 0
使用Chrome开发者工具分析JavaScript garbage collector(垃圾回收器)的实现原理
使用Chrome开发者工具分析JavaScript garbage collector(垃圾回收器)的实现原理
48 0
chrome浏览器使用记录
出现错误 net::ERR_BLOCKED_BY_CLIENT 出现这个错误一般是因为chrome安装了adblocker等这样的插件,这些插件会把路径及文件名中包含广告字样的文字禁止掉,比如:advert,ads,advertise等。
806 0
C#.Net组件开发 - 使用Attach to Process实时调试设计器代码(转)
本文转载于:CS框架网http://www.csframework.com/archive/2/arc-2-20110829-1811.htm C#.Net组件开发 - 使用Attach to Process实时调试设计器代码 组件设计的调试对象为两个:一是我们关注的组件本身(Component/Control),二是组件的设计器(Component Designer/Control Designer)。
860 0
4850
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载