【如何使用chrome开发者工具调试javascript代码】

发布于:2024-04-24 ⋅ 阅读:(29) ⋅ 点赞:(0)

创作背景

平常开发时我们去解决bug可能会用console.log来来调试,但是断点可以更快地完成工作。

  • log调试的劣势:但是使用console.log时需要我们手动的打开源码,找到相关代码,插入log语句,然后重新加载页面,才能在控制台中查看这些消息;使用log语句时,需要明确指定要检查的每个值。
  • 断点调试的优势:无需了解代码结构即可暂停相关的代码;使用断点,开发者工具会及时显示所有变量的值(因为有些时候,有些变量在你不知情的情况下也会影响你的代码)

演示网址

断点调试演示网址

调试步骤

重现bug

开始调试的前提是你能够一致性地重现bug:在两个输入框输入number1和number2后点击下方按钮。反复执行此操作,你会发现得到的值与预期不同,这就是你要修复的bug!
在这里插入图片描述

打开来源标签页

F12打开chrome的开发者工具,选择并打开来源标签页(sources),找到js文件
在这里插入图片描述
来源标签页界面说明
在这里插入图片描述

使用断点暂停代码

在javascript调试窗格中,点击事件监听器(Event listener breakpoints)->Mouse->click。此步骤的作用是开启鼠标点击事件的断点监听(开发者工具现已设置为在执行任何 click 事件监听器时自动暂停,因为bug出现在点击计算结果的按钮附近,所以我们需要在点击事件处打断点)

返回演示,再次点击Add Number 1 and Number 2。开发者工具会在点击事件函数处暂停
在这里插入图片描述
事件监听断点只是开发者工具中提供的众多断点类型的一种,如下图有很多种
在这里插入图片描述

单步调试代码

导致bug的一种常见原因是脚本执行顺序有误。我们可以通过单步调试代码一次一行地检查代码的执行情况,并弄清楚代码的执行顺序与预期不同。
点击下方按钮就可以逐步执行代码进行调试(会执行每一小步) 在这里插入图片描述
点击下方按钮开发者工具会执行函数,但不会进入它
在这里插入图片描述

设置代码行断点

如果想指定执行到某一行代码时暂停,则可使用代码行断点。点击代码左边的代码行数就可以设置断点
在这里插入图片描述
设置完断点后,点击AddNumber1…按钮,代码执行会暂停在32行断点处,点击下方图标按钮后,代码继续执行至完毕(29、30、31行,开发者工具以内嵌方式显示addend1、adaddend2、sum的值)
继续执行按钮
在这里插入图片描述
在这里插入图片描述

检查变量值

  • 法一——Scope窗格
    在这里插入图片描述
  • 法二——监视表达式watch
    在这里插入图片描述

点击➕可以新增表达式。可以把任何有效的javascript表达式储存在监视表达式中(例如我输入了typeof addend1和sum等…)

  • 法三——控制台
    可以直接在控制台对任意javascript语句求值。在测试方面,可以使用控制台测试bug的潜在解决方法。(esc打开控制台)
    在这里插入图片描述
    23+3=26。说明这个解决方法是正确的,可应用。

应用解决方案

经过上一步的变量值检查,我们已经找到了bug的出处以及它的解决办法,现在就来应用解决方案。你无需离开开发者工具即可修复,直接在开发者工具界面中修改javascript代码

  • 点击继续执行脚本,直至脚本执行完‘在代码编辑器中,将31行var sum = addend1 + addend2 替换为 var sum = parseInt(addend1) + parseInt(addend2)
  • 按Command+S(Mac)或Ctrl+S(Windows)以保存更改
  • 点击停用断点图标,使开发者工具忽略你已设置的任何断点
    在这里插入图片描述
  • 直接在界面中输入不同值进行测试
    在这里插入图片描述

结尾

好!你已经学会了如何在调试javascript时充分利用Chrome开发者工具。
本篇文章介绍了两种设置断点的方法:

  • 代码行断点
  • 事件监听器断点

另外,开发者工具还提供了许多其他的方式:
在这里插入图片描述