1、调试hover样式

1、第一种方法就是利用debugger(推荐)

        在控制台输入下面一段代码(时间自己决定)并执行,返回页面,鼠标放在需要调试的dom上,把hover样式显示出来,等待 debugger,然后就能安心调试hover样式了。

setTimeout(()=>{
    debugger
},1800)

改进版本:

1)先在控制台输入以下代码。注意不要回车,控制台的光标会一直在。

debugger

2)然后将鼠标放在需要hover的dom上,使其出现hover样式,这个时候回车,就能调试了。

2、利用控制台“元素”选项调试

        先定位到要调试的元素,然后咔咔一顿操作,见下图。不推荐

2、控制台的$操作符

$0【获取调试选中dom】

        先在元素面板中选中dom,右边就会显示$0。然后在控制台执行$0,结果就是刚才选中的dom。

操作 一 :

 操作 二:

$1【返回上一次$0的执行结果】 

执行两次$0选中不同元素,再打印$1,结果是第一次的$0的结果。

$_        【返回上一次控制台执行的结果】 

先执行2+3返回5,然后执行$_ 结果是5(也就是上一次执行的结果)

$i        【为控制台下载包】 

完整的使用$i操作需要先在 chrome 安装 Console Importer插件。

 以常用的lodash为例:

$i是使用cdn,不用担心内存。。。

更多的$操作符

更多的操作符可以看一下别人的文章:

【译】你不知道的Chrome调试工具技巧 第一天:console中的 '$' - 掘金

3、断点(包含条件断点)调试以及相应面板介绍

        先准备两个函数,在bar函数中使用debugger,代码如下。

	        function foo() {
				let result = 0
				for (let i = 0; i < 10; i++) {
					result += i
				}
				result = bar(result)
				return result
			}

			function bar(result) {
				debugger
				result += '%%'
				return result
			}
			foo()

        执行后,来到源代码面板,在合适的位置,比如下面的12行,点击鼠标右键,有个“添加条件断点”,点击这个选项,输入条件,比如“i==4”。CTRL+R重新执行,会发现断点在设置的条件断点出停下,并且此时的 i 等于4,这个时候想做什么就能做什么了。

        最后再介绍下右边的操作区域。

        第一部分是调试操作键,具体说明如下:

序号按钮名说明作用
1继续执行脚本遇到断点或错误会停下来常用于跳到下一个断点
2跳到下一个函数调用

连续两个函数调用,正常情况下不会进入函数体,直接拿结果。

(但是函数体中有断点或错误进入函数体并跳到对应位置)

广义的下一步,请无脑用。(多数情况下用这个就行,不用单步调试)
3进入下一个函数调用顾名思义进入函数体,想干嘛就干嘛
4跳出当前函数顾名思义跳出函数体后,想干嘛就干嘛
5单步调试不管什么情况,遇到函数调用就会进入函数体狭义的下一步,很少用
6停用断点顾名思义停用断点,可以用
7在遇到异常时停止开启后,有异常就会在异常处停下。很好用,建议开启

第二部分是监视区域,可以监视dom的一些属性和一些表达式的值,(很好用)。

第三部分是断点操作区域,可以关闭和打开断点。

第四部分是作用域。显示当前块级作用域的变量、函数作用域的变量、全局作用域的变量(很好用)

第五部分是函数调用堆栈。注意选中函数后右键会有个“重启帧”,点击重启帧后能重新执行该函数

 操作如下:

4、查找页面中所有监听的事件回调

        选中dom后,元素面板的事件监听器会把该dom的事件显示出来,点开后能定位到代码位置。

 只想显示当前dom的事件,可以把“祖先”选框取消勾选。

5、查找网络请求的代码位置

        网络面板的“启动器”能找到网络请求的位置,能方便的定位到代码。

网络面板的信息很有用。 

6、给dom打上断点

当一个dom发生变化(样式、子节点),我们又不知道是那一段代码引起的变化时,我们就可以在dom上打断点,定位到引起变化的代码。

选中dom,然后点击鼠标右键,选中“发生中断条件”,的“属性修改”(根据情况选择什么情况打上断点),然后执行引起变化的操作,最后就会定位到引起变化的代码了。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐