0

0

javascript调试技巧有哪些_如何使用浏览器开发者工具【教程】

夜晨

夜晨

发布时间:2026-01-29 10:18:09

|

898人浏览过

|

来源于php中文网

原创

浏览器开发者工具核心是快速定位问题、验证假设、绕过阻塞;调试以观察为主(80%),断点次之(15%),console.log最少(5%);debugger语句可精准中断、兼容无source map场景;console.log对象存在延迟求值问题,可用%o或JSON序列化捕获快照;Network面板需注意fetch归类与Initiator追踪;Sources面板应善用Ctrl+P搜索及webpack://等协议路径;异步调试务必开启Async Call Stack。

javascript调试技巧有哪些_如何使用浏览器开发者工具【教程】

浏览器开发者工具不是“教你怎么点菜单”,而是帮你快速定位问题、验证假设、绕过阻塞。真正有效的调试,80%靠观察,15%靠断点,5%靠 console.log。

如何在代码执行中途暂停:用 debugger 语句比手动打断点更可控

当你不确定某段逻辑是否被调用,或想在动态生成的函数里设断点时,debugger 是最直接的方式。它会在运行到该行时强制触发断点,且不受源码映射(source map)缺失影响。

  • 放在条件分支里可避免无意义中断:if (user.id === 123) debugger;
  • 配合 console.table() 使用,能一边看结构一边暂停:console.table(data); debugger;
  • 上线前务必删除或注释掉,否则用户打开 DevTools 就会卡住

为什么 console.log() 有时输出的是“引用值”而不是当时快照

Chrome 和 Firefox 对对象、数组的 console.log() 默认延迟求值——你展开看时,它才读取当前值。这意味着如果对象后续被修改,你看到的可能是“被污染后”的状态。

  • console.log(JSON.parse(JSON.stringify(obj))) 强制深拷贝快照(仅限可序列化数据)
  • 对 DOM 元素用 console.log(obj.outerHTML)console.log(obj) 更可靠
  • console.log('%o', obj) 触发立即快照(Chrome 支持,Firefox 部分支持)

Network 面板里看不到 fetch 请求?检查 InitiatorFilter 设置

fetch 请求默认归类为 XHR 类型,但有时会被过滤掉,尤其当它来自 Service Worker 或跨域重定向后。

Toolplay
Toolplay

一站式AI应用聚合生成平台

下载

立即学习Java免费学习笔记(深入)”;

  • 在 Network 面板顶部勾选 XHRFetch(新版 Chrome 已合并为一项,但旧版需手动开)
  • 点击请求 → 查看 Initiator 列,确认是否被 service-worker.js 拦截或由 Promise.then 触发
  • 右键请求 → Block request URL 可临时屏蔽某个接口,用于验证降级逻辑

Sources 面板里找不到自己的 JS 文件?别只盯着 Page 标签

现代前端工程打包后,原始文件名和路径基本消失。直接在 Sources 面板顶部搜索框输入文件名没用,得靠更精准的入口。

  • 优先点开 Content scripts(插件脚本)、Snippets(手写临时脚本)、webpack://app://(Vue/React 开发服务器映射)
  • Ctrl+P(Win)或 Cmd+P(Mac),输入 !xxx 可搜索未加载的 source map 文件
  • 如果用了 Vite,确保启动时加了 --host 参数,否则 Chrome 可能无法正确加载 sourcemap

最常被忽略的一点:调试异步链路时,不要只盯着 call stack,要打开 Async Call Stack(右键调用栈空白处开启)。否则你永远不知道那个 setTimeout 是从哪个 useEffect 里漏出来的。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

419

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

535

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

311

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

77

2025.09.10

chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

833

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

744

2023.11.06

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

778

2023.08.22

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1130

2023.10.19

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

8

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 7.4万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 1.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号