0

0

javascript如何进行代码调试_开发者工具有哪些技巧【教程】

狼影

狼影

发布时间:2026-01-31 17:33:01

|

600人浏览过

|

来源于php中文网

原创

Chrome DevTools 是最主流的JavaScript调试工具,支持debugger断点、Console高级日志、Network接口排查、Sources异步链路分析等功能,高效定位问题根因。

javascript如何进行代码调试_开发者工具有哪些技巧【教程】

Chrome DevTools 是目前最主流、最实用的 JavaScript 调试环境,绝大多数问题用它就能定位到根因,不需要额外装插件或换工具

如何在代码里主动打断点

最直接的方式是写 debugger 语句,浏览器执行到这一行会自动暂停。它比手动点行号打点更可控,尤其适合动态生成的函数或异步回调里——比如你不确定某个 Promise.then() 是否被调用,就在里面加一行 debugger

注意:debugger 在生产环境必须删掉,否则用户打开控制台就会卡住;如果用了构建工具(如 Webpack/Vite),可通过 process.env.NODE_ENV === 'development' 包一层来避免误入线上。

  • 断点位置要靠近可疑逻辑,别堆在函数开头就完事
  • 多个 debugger 可以配合条件判断使用,比如 if (id === 123) debugger
  • 在压缩后的代码里 debugger 依然有效,但变量名可能被混淆,得看 Sources 面板右上角的“Pretty print”按钮({} 图标)格式化后再调试

Console 面板不只是输出 log

console.log() 太基础,容易漏关键信息;console.table() 查对象/数组结构、console.group() 做日志分组、console.time() 测执行耗时,这些才是日常提效的关键。

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

一个典型场景:你想确认某个函数被调用了几次、每次参数是什么。与其反复改 console.log,不如用 console.trace() ——它会打出完整调用,一眼看出是谁触发的。

Sesame AI
Sesame AI

一款开创性的语音AI伴侣,具备先进的自然对话能力和独特个性。

下载
  • console.log('%o', obj) 可以输出可交互的对象(点击展开),比直接 console.log(obj) 更准,因为后者在异步环境下可能输出的是“实时值”而非当时快照
  • 在 Console 里直接输入变量名回车,能查看当前作用域变量(前提是没退出断点上下文)
  • 右键某条日志 → “Store as global variable”,会生成一个临时变量(如 temp1),方便后续在 Console 里反复操作

Network 面板查接口问题比 console 更可靠

很多“数据没出来”的问题,其实不是 JS 逻辑错,而是请求根本没发出去、被拦截了、返回了 4xx/5xx、或者响应体结构和前端预期不一致。这时候盯着 console.log(res) 看不如直接切到 Network 面板。

重点关注三件事:状态码、Response 标签页里的原始响应体、Headers 里的 Content-TypeAccess-Control-Allow-Origin。如果看到 Failed to load response data,大概率是服务端没返回合法 JSON 或 CORS 配置漏了。

  • 勾选 “Preserve log”,防止页面跳转后请求记录被清空
  • 右键某条请求 → “Copy” → “Copy as fetch”,能一键生成可复现的 fetch 调用,方便隔离测试
  • Filter 输入 XHRfetch 可过滤出 JS 发起的请求,避免被静态资源干扰

Sources 面板里怎么查异步链路

Promise、async/await、setTimeout 的执行顺序容易让人迷糊,光看代码很难理清实际执行流。DevTools 的 Async call stack(在 Call Stack 面板底部勾选)能显示“谁触发了这个异步任务”,比自己脑补靠谱得多。

比如你在 setTimeout 回调里加了断点,Call Stack 显示的可能是 setTimeouttask → 你的函数,这就说明它确实是宏任务;而 Promise.then 断点下看到的是 Promise.thenmicrotask,验证了微任务优先级更高。

  • 断点打在 catch 块里时,勾选 “Pause on caught exceptions”(右上角三个点 → Settings → Debugger)能让它在抛出瞬间停住,而不是等 catch 执行才停
  • 想跳过某个库的代码(比如 node_modules),可以在右键对应文件 → “Blackbox script”,之后 stepping 时就不会钻进去
  • 修改 Sources 面板里的 JS 文件并保存(Ctrl+S),会实时生效(仅限当前 tab,刷新即失效),适合快速验证修复思路

真正卡住人的往往不是不会用功能,而是忘了切换面板上下文——比如接口返回空数据,第一反应不该是翻 JS 代码,而是先去 Network 确认响应体;又比如变量值不对,别急着改逻辑,先在 Scope 面板里看看它此刻到底被赋成了什么。

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

通义千问
通义千问

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

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

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

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

420

2023.08.07

json是什么
json是什么

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

536

2023.08.23

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

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

312

2023.10.13

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

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

77

2025.09.10

chrome什么意思
chrome什么意思

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

843

2023.08.11

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

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

748

2023.11.06

chrome什么意思
chrome什么意思

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

843

2023.08.11

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

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

748

2023.11.06

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

54

2026.01.31

热门下载

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

精品课程

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

共58课时 | 4.4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.6万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

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

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