若是您使用 console.log() 来查找和修正代码中的错误,能够考虑改用本教程介绍的工做流程。 其速度快得多,也更有效。浏览器
重现错误始终是调试的第一步。“重现错误”是指找到一系列老是能致使错误出现的操做。服务器
您可能须要屡次重现错误,所以要尽可能避免任何多余的步骤。编辑器
DevTools 让您能够暂停执行中的代码,并对暂停时刻的全部变量值进行检查。 用于暂停代码的工具称为断点。 当即试一试:函数
按 Command+Option+I (Mac) 或 Ctrl+Shift+I(Windows、Linux)在演示页面上打开 DevTools。工具
点击 Sources 标签。测试
点击 Event Listener Breakpoints 将该部分展开。DevTools 显示一个包含 Animation 和 Clipboard 等可展开事件类别的列表。spa
在 Mouse 事件类别旁,点击 Expand Expand 图标。调试
DevTools 显示一个包含 click 等 Mouse 事件的列表,事件旁有相应的复选框。 1. 选中 click 复选框。blog
返回至演示页面,再次点击 Add Number 1 and Number 2。DevTools 暂停演示并在 Sources 面板中突出显示一行代码。教程
当您选中 click 复选框时,就是在全部 click 事件上设置了一个基于事件的断点。 点击了任何节点,而且该节点具备 click 处理程序时,DevTools 会自动暂停在该节点 click 处理程序的第一行。
注:这不过是 DevTools 提供的众多断点类型中的一种。应使用的断点类型取决于您要调试的问题类型。
一个常见的错误缘由是脚本执行顺序有误。 能够经过单步调试代码一次一行地检查代码执行状况,准确找到执行顺序异常之处。
从左到右依次为:
重置调试器,使用后会当即回复到未暂停的状态
跳过函数调用, 使用后不会进入函数声明里,而是直接在当前函数里出结果
单步, 一般状况下也会单步库代码
直接从当前函数退出,将回退到上一个调用它的函数,这个通常用于函数体很长想要当即退出时使用
打完另外的断点后, 重置调试器会变成单步(只执行断点)的调试。
使用watch
能够看出watch里能够填表达式。
您已找到错误的潜在解决方法。剩下的工做就是编辑代码后从新运行演示页面来测试修正效果。 您没必要离开 DevTools 就能应用修正。 您能够直接在 DevTools UI 内编辑 JavaScript 代码。 当即试一试:
在 DevTools 的 Sources 面板上的代码编辑器中,将 var sum = addend1 + addend2 替换为 var sum = parseInt(addend1) + parseInt(addend2);。它就是您当前暂停位置上面那行代码。
按 Command+S (Mac) 或 Ctrl+S(Windows、Linux)保存更改。代码的背景色变为红色,这表示在 DevTools 内更改了脚本。
点击 Deactivate breakpoints 停用断点。它变为蓝色,表示处于活动状态。 若是进行了此设置,DevTools 会忽略您已设置的任何断点。
点击 Resume script execution
使用不一样的值测试演示页面。如今演示页面应能正确计算求和
切记,此工做流程只对运行在浏览器中的代码应用修正。 它不会为全部运行您的页面的用户修正代码。 要实现该目的,您须要修正运行在提供页面的服务器上的代码。
注意要按一次保存
恭喜!如今您已掌握了在 DevTools 中调试 JavaScript 的基础知识。
本教程只向您介绍了两种设置断点的方法。DevTools 还提供了许多其余方法,其中包括:
仅在知足您指定的条件时触发的条件断点。
发生已捕获或未捕获异常时触发的断点。
当请求的网址与您提供的子字符串匹配时触发的 XHR 断点。