浏览器DevTools是JavaScript调试核心,涵盖断点调试(Sources)、交互式Console、网络与状态排查(Network/Application)、性能与内存分析(Performance/Memory)四大维度。

调试 JavaScript 代码,核心靠浏览器内置的开发者工具(DevTools),它集成了断点调试、实时修改、性能分析、网络监控等功能。掌握好 Chrome 或 Edge 的 DevTools,基本覆盖日常开发中 90% 的调试需求。
断点调试:定位问题最直接的方式
在 Sources 面板中,点击行号左侧可设置断点;代码运行到该行会自动暂停,此时能查看作用域变量、调用栈、执行上下文。支持条件断点(右键行号 → “Edit breakpoint”)、日志断点(不暂停,只输出信息)和 DOM 断点(监听元素属性/子树变化)。
- 遇到异步问题时,优先在回调函数或 Promise.then 内设断点
- 使用 debugger 语句可手动插入断点(需确保未被压缩或删除)
- 启用“黑箱脚本”可跳过第三方库(如 node_modules 中的代码),专注自己的逻辑
Console:不只是打印,更是交互式调试环境
除了 console.log(),还可使用 console.table() 查看对象/数组结构,console.group() 分组输出,console.time() 测量执行耗时。输入变量名或表达式可即时求值,甚至调用函数、修改 DOM。
- 用 console.trace() 查看函数被谁调用,快速定位调用链
- 按 Esc 呼出控制台抽屉,切换到 “Console” 标签页后可直接执行 JS
- 右键某条 console 输出 → “Store as global variable”,可将临时对象保存为全局变量(如 temp1)继续操作
Network 和 Application 面板:排查数据与状态问题
当页面数据没更新、接口报错或本地存储异常时,Network 面板能查看所有请求的 URL、状态码、响应头/体、耗时;Application 面板则管理 cookies、localStorage、sessionStorage、缓存、Service Worker 等前端状态。
这本书并不是一本语言参考书,但它是一个Android开发者去学习Kotlin并且使用在自己项目中的一个工具。我会通过使用一些语言特性和有趣的工具和库来解决很多我们在日常生活当中都会遇到的典型问题。 这本书是非常具有实践性的,所以我建议你在电脑面前跟着我的例子和代码实践。无论何时你都可以在有一些想法的时候深入到实践中去。 这本书适合你吗? 写这本书是为了帮助那些有兴趣 使用Kotlin语言来进行开发的Android开发者。 如果你符合下面这些情况,那这本书是适合你的: 你有相关Android开发和Andro
立即学习“Java免费学习笔记(深入)”;
- 勾选 “Disable cache” 可避免资源缓存干扰调试
- 右键某个请求 → “Copy” → “Copy as fetch” 可快速复现接口调用
- 在 Application → Storage 区域,可手动编辑 localStorage 数据,模拟不同用户状态
Performance 和 Memory:进阶问题离不开它们
页面卡顿?内存泄漏?Performance 面板录制运行过程,生成火焰图,直观显示 JS 执行、渲染、布局耗时;Memory 面板配合堆快照(Heap Snapshot)可对比前后内存占用,识别未释放的对象引用。
- 录制前先清理无关标签页和扩展程序,减少干扰
- 触发疑似问题操作(如反复打开关闭弹窗),录制后用 “Allocation instrumentation on timeline” 查看新分配对象
- 两次快照之间做一次垃圾回收(Collect garbage 按钮),再对比“Retained Size”突增的对象









