前端调试技术 | 青训营笔记

57 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天

Bug与Debug的由来

Bug的本意为小虫子的意思,第一个Bug的产生,当时是人们还在使用第一代真空计算机,不知道什么原因,机器突然不运转了,通过检查发现,机器中有一只死去的虫子,把虫子抓出来后,机器又能重新正常运转了。从此Bug又增加了一层含义,那便是程序的缺陷。然后Debug就变成排除程序故障的意思,可能是delete bug的简写?我个人觉得蛮有意思。

Chrome DevTools谷歌浏览器调试工具

常用的五大部分

  1. Elements
  2. Console
  3. Source
  4. Performance
  5. Network

Elements

  • 用于查看页面元素,以及动态修改元素和样式
  • 点击.cls开启动态修改元素的class
  • 输入字符串可以动态的给元素添加类名
  • 勾选/取消类名可以动态的查看类名生效效果
  • 点击具体的样式值可以编辑

伪类比较特殊,若要强制激活伪类有两种方法

  1. 选中具有伪类的元素,点击:hov
  2. DOM树右键菜单,选择Force State

Console

别再只用console.log了,试试这些

  • console.warn
  • console.error
  • console.debug
  • console.info
  • console.tabal(具象化展示JSON和数组数据,我认为很好)
  • console.dir

还有一种占位符的用法,类似C语言中的printf,可以添加样式,突出重要信息。

Source

image.png 利用Sorce Tab可以进行断点调试,同时也可以对变量的值进行监控,展开Scope可以查看作用域,展开Call Stack可以查看JS的调用栈。

Performance

利用Performance选项卡可以分析页面卡顿的原因,查看FPS指标,寻找性能瓶颈,从而优化代码,不过,我认为我目前水平还不太能用上这个功能,我感觉这个是高级前端用来分析页面性能才用的上的,不过先了解总是没错的。

Lighthouse选项卡可以给页面进行打分,具体包括白屏时间、SEO等等。

Network

image.png 通过Network选项卡可以对页面加载元素进行分析,也可以了解到一些请求头相关的信息。

小结

掌握调试技术是成为一名合格开发者必备的能力,希望以后能不断积累调试经验,熟能生巧。