Chrome 浏览器调试 JavaScript

摘要:
“源”面板界面“文件导航器”窗格的错误示例3部分。在“文件导航器”窗格中选择文件时,文件的内容将显示在此处。检查页面JavaScript的各种工具。如果DevTools窗口布局较宽,则此窗格将显示在CodeEditor窗格的右侧。使用断点,DevTools将在暂停时及时显示所有变量值。在事件侦听器在触发事件(如单击)后运行的代码中。右键单击“断点”窗格中的任意位置以停用所有断点、停用所有断点或删除所有断点。在XHR断点中为URL中具有组织的所有请求创建XHR断点事件侦听器断点###异常断点##函数断点

错误例子

Sources 面板界面的 3 个部分

  1. File Navigator 窗格。 此处列出页面请求的每个文件。
  2. Code Editor 窗格。 在 File Navigator 窗格中选择文件后,此处会显示该文件的内容。
  3. JavaScript Debugging 窗格。 检查页面 JavaScript 的各种工具。 如果 DevTools 窗口布局较宽,此窗格会显示在 Code Editor 窗格右侧。
Chrome 浏览器调试 JavaScript第1张

使用断点暂停代码

  • 通常调试是使用 console.log() 插入到源代码中观察其值的变化,虽然 console.log() 方法可以完成任务,但断点可以更快完成此任务。 断点可让您在执行代码的过程中暂停代码,并在此时及时检查所有相关值。 与 console.log() 方法相比,断点具有一些优势:
    • 使用 console.log(),您需要手动打开源代码,查找相关代码,插入 console.log() 语句,然后重新加载此页面,才能在控制台中看到这些消息。 使用断点,无需了解代码结构即可暂停相关代码。
    • 在 console.log() 语句中,您需要明确指定要检查的每个值。 使用断点,DevTools 会在暂停时及时显示所有变量值。 有时在您不知道的情况下,有些变量会影响您的代码。
    • 简言之,与 console.log() 方法相比,断点可帮助您更快地查找和修正错误。

当要通过点击出发某个断点的时候 使用 Event Listener Breakpoints 勾选 click ; Event Listener Breakpoints 只是 DevTools 提供的多种断点类型之一

Chrome 浏览器调试 JavaScript第2张

单步调试代码

Chrome 浏览器调试 JavaScript第3张

设置代码行断点

Chrome 浏览器调试 JavaScript第4张

检查变量值 DevTools 可提供许多用于检查变量值的工具。

  • 方法 1:Scope 窗格
    Chrome 浏览器调试 JavaScript第5张

  • 方法 2:监视表达式
    Chrome 浏览器调试 JavaScript第6张

  • 方法 3:控制台
    Chrome 浏览器调试 JavaScript第7张

应用修正方法 直接在Sources中 修改后 执行

Chrome 浏览器调试 JavaScript第8张

各类断点类型;

  • 代码行断点 在确切的代码区域中。
  • 条件代码行 在确切的代码区域中,且仅当其他一些条件成立时。
  • DOM 在更改或移除特定 DOM 节点或其子级的代码中。
  • XHR 当 XHR 网址包含字符串模式时。
  • 事件侦听器 在触发 click 等事件后运行的代码中。
  • 异常 在引发已捕获或未捕获异常的代码行中。
  • 函数 任何时候调用特定函数时。

代码行断点:

Chrome 浏览器调试 JavaScript第9张

条件代码行断点:

Chrome 浏览器调试 JavaScript第10张
  • 管理代码行断点
  • 使用 Breakpoints 窗格可以从单个位置停用或移除代码行断点。
  • 显示两个代码行断点的 Breakpoints 窗格:一个代码行断点位于 get-started.js 第 15 行,另一个位于 第 32 行
  • 勾选条目旁的复选框可以停用相应的断点。
  • 右键点击条目可以移除相应的断点。
  • 右键点击 Breakpoints 窗格中的任意位置可以取消激活所有断点、停用所有断点,或移除所有断点。 停用所有断点相当于取消选中每个断点。 取消激活所有断点可让 DevTools 忽略所有代码行断点,但同时会继续保持其启用状态,以使这些断点的状态与取消激活之前相同。

DOM 更改断点

Chrome 浏览器调试 JavaScript第11张 + DOM 更改断点的类型 1. Subtree modifications: 在移除或添加当前所选节点的子级,或更改子级内容时触发这类断点。 在子级节点属性发生变化或对当前所选节点进行任何更改时不会触发这类断点 2. Attributes modifications:在当前所选节点上添加或移除属性,或属性值发生变化时触发这类断点 3. Node Removal:在移除当前选定的节点时会触发。

XHR/Fetch 断点

  • 如果想在 XHR 的请求网址包含指定字符串时中断,可以使用 XHR 断点。 DevTools 会在 XHR 调用 send() 的代码行暂停。
  • 注:此功能还可用于 Fetch 请求。
  • 例如,在您发现您的页面请求的是错误网址,并且您想要快速找到导致错误请求的 AJAX 或 Fetch 源代码时,这类断点很有用。
  • 在 XHR Breakpoints 中 对网址中包含 org 的所有请求创建 XHR 断点
    Chrome 浏览器调试 JavaScript第12张

事件侦听器断点

Chrome 浏览器调试 JavaScript第13张 ### 异常断点 Chrome 浏览器调试 JavaScript第14张 ### 函数断点 Chrome 浏览器调试 JavaScript第15张

免责声明:文章转载自《Chrome 浏览器调试 JavaScript》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇通过NPOI操作Excel百度地图手机四角坐标下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js调试工具Console命令详解——转

一、显示信息的命令 <!DOCTYPE html> <html> <head> <title>常用console命令</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> &...

4、node中的宏任务和微任务(大活和小活)

执行流程: 宏任务和微任务(一个宏任务配多个微任务):每次执行微任务队列会全部执行完并清空 console.log('main') process.nextTick( () => { console.log('process.nextTick1') }) setTimeout(() => { console.log('setTim...

Spring框架系列(五)--Spring AOP以及实现用户登录权限控制

背景:   当需要为多个不具有继承关系的对象引入一个公共行为,例如日志、权限验证、事务等功能时。如果使用OOP,需要为每个Bean引入这些公共 行为。会产生大量重复代码,并且不利用维护,AOP就是为了解决这个问题。 AOP:   就是上面的解释,可以理解一种思想,不是Java独有的,作用是对方法进行拦截处理或增强处理。而在Java中我们使用Spring...

防止一个用户登录多次的方法

在web开发时,有的系统要求同一个用户在同一时间只能登录一次,也就是如果一个用户已经登录了,在退出之前如果再次登录的话需要报错。 常见的处理方法是,在用户登录时,判断此用户是否已经在Application中存在,如果存在就报错,不存在的话就加到Application中(Application是所有Session共有的,整个web应用程序唯一的一个对象):...

log4j(转)

让System.out.println回家种田,换句话说,就是该干嘛干嘛去。 您可能在想: System.out.println几乎在每个Java程序里都有那么几行,如何让他老人家回家种田呢? 我们怎么能少了这么重要的革命同志呢? doodoofish这里要说的是"该干嘛干嘛去",不是System.out.println管的就别让他管。想想,我们用Syst...

nginx启动失败 Starting nginx nginx [fail]

nginx -t :测试配置文件是否有语法错误 看看报什么错误,我的是忘记给权限了 nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)...