前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源: 原文

要我讲就是:对自己代码自信的人,从来不需要调试,只是log一下值是否符合预期(doge)。

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

哈哈,这当然是一句玩笑话,不管你是刚刚起步的新手,还是从业多年的老手,编程中或多或少都会遇到一些瓶颈,这时就需要进行代码调试来找出错误并加以排除!

报错是各种各样的,调试的方法也不仅限你了解的那几种,接下来由我来将日常开发中所用到的调试方法进行逐一讲解,由浅递深,在学到新知识的同时,也不要忘记给博主来个一键三联哦!

目录

f12调试

console.log()调试

使用插件调试

浏览器debug调试

开发者工具调试

编译器debug调试


f12调试

对于一个刚刚入门的新手来说,当写出错误的代码样式时,通常会通过f12来定位代码的错误位置进行调试,而这也往往是最简便的,如下:

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

当然也可以右键选择检查进行定位到当前的元素位置,如果想知道f12里面的代码在编译器中的哪个位置,可以将f12里面的代码进行复制然后在编译器中 ctrl + f 进行查找即可,这种方式仅限于调试HTML+CSS相关的内容,如果仅仅只想调试当前页面的样式的话,这种可以说是最好的方法了

console.log()调试

对于大部分的前端程序员来说,调试代码最常用的方法便是 console.log() ,事实也的确证明了这个方法的独到之处,我总结了这个方法的常用用途,如下:

定位位置

在前端的众多页面中,如果你接手别人的项目,可能你不知道当前的代码究竟对应当前网站页面的哪一块,你可以通过console.log()去执行一下即可。

检查执行

有时候,当你写了许多代码时候,你不知道某一块的代码段究竟有没有执行,你也可以通过console.log()一下,来进行检查。

确定数值

当你写了一段代码时,可以会从别的组件中来调取数值,但是你不知道调取来的数值是什么类型或是什么数的时候,也可以直接console.log()一下即可。

使用插件调试

自己板砖干活和让别人板砖干活,我果断选择后者。为了简省程序员写代码的时间,大多数程序员都会选择自己喜欢的插件来处理日常的各种问题,而在代码的调试中,也有着这么一款插件,方便了程序员调试代码,解决bug的时间。如下:

插件下载地址: https://www.locatorjs.com/

当打开网站后,选择自己匹配的浏览器进行下载。

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

我平时书写代码都以谷歌浏览器,建议可以选择谷歌浏览器进行下载,打开网上商店之后添加相关插件进行下载,如果不能打开网上商店可以选择其他浏览器即可,如下:

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

下载完成之后,就可以进行使用了,使用方式如下,选择自己的编译器种类,对页面的某项内容进行 Alt+Click就可以进入当前编译器书写当前页面的代码文件。当然也可以选择右上角的settings进行自己的习惯设置,这里不再赘述。

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

具体实现过程如下:

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

浏览器debug调试

除了使用console和插件进行调试后,前端开发也可以使用浏览器进行代码调试,如下:

使用浏览器debug进行代码调试,需要在代码中写入debugger,不需要断点的时候,需要删除掉对应的断点代码debugger,这种方式有点烦,这里我直接在浏览器中打断点,如下:

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

开发者工具调试

每一位前端开发者都会有自己擅长的框架,无论你是Vue还是React,都会必配一个相应的开发者工具,方便代码的调试,如下,这里我以Vue的开发者工具为例,想了解更多Vue或是React框架的内容,欢迎订阅我的Vue和React的专栏文章,将持续输出最新技术的文章。

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

编译器debug调试

可能大部分的前端程序员都处于在console.log()打印,更深一点的或许也会浏览器debug,对于在编译器中进行debug,可以不是那么的熟悉(当然后端程序员除外,后端程序员往往都是在编译器中进行debug),今天我来好好讲讲,作为前端程序员如何在编译器中进行debug,如下:

这里我以vscode这个编译器进行举例,如果你是使用其他编译器类似WebStorm这种的可自行研究,如下打开vscode的运行与调试模块:

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

点击运行和调试之后呢,会出现如下情况让你选择调试器,因为我电脑上的浏览器比较少,所以只能选择Chrome,当然如果你有更多的选择可以选择别的浏览器,一个用来写项目一个用来调试。

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

选择调试浏览器之后,弹出以下一个配置文件让你进行配置,这个文件也是在.vscode目录下的 

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

对这个配置文件进行如下配置:

{
  // 使用 IntelliSense 了解相关属性。 
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "chrome",
      "request": "launch",
      "name": "Launch Chrome against localhost",
      "url": "http://localhost:8080",
      // 默认是true,打开的调试浏览器没有原本浏览器的一些缓存,这点不是很好,所以可以选择false
      "userDataDir": false,
      "webRoot": "${workspaceFolder}"
    }
  ]
}

配置完成之后,点击左上角的运行,便可以打开调试浏览器了,如下:

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

注意:这里有个小坑,当你选择要调试并打开调试浏览器的时候,一定要先把之前项目启动的浏览器先关掉,否则就会出现 unable to attach to browser 这样的提示错误。

接下来开始正式的debug了,选择你要debug的代码,然后在这一行的序号左边右键选择你要debug的方式,如下:

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

这三者之间的区别

断点

设置断点后,调试器会在你下断点的内存页增加一个 PAGE_NOACCESS 属性,这个属性会把当前内存页设为禁止任何形式的访问,如果进行访问会触发一个内存访问异常,之后调试器会捕获这个异常,判断这个异常触发的位置和你下断点的位置是否一样,一样则接管异常并暂停程序运行,不一样则放行。

条件断点

达到设置的条件时才触发的断点(某种自己设置的逻辑表达式)。

记录点

记录断点除了具有条件断点作用,还能记录断点处函数表达式或参数的值,也可以设置通过断点的次数,每次符合暂停条件时,计数器减一。

举例断点调试如下:(条件断点和记录点可自行操作,这里不再赘述)

前端编程中你是如何进行调试代码的?这篇文章让你学会更多调试方法——前端新手进阶

总结:

其实每个方法都有自己的独特之处,即使你只懂一个console.log,也不会影响到你的日常开发,但是能够懂得更多的解题思路,就能应对不同情况下的问题并能给出最具效率的办法,希望未来能够达到对自己代码自信而不需要调试的境界吧(doge)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/139970.html

(0)
飞熊的头像飞熊bm
0 0

相关推荐

  • JSP基础③ 技术随笔

    JSP基础③

    0 0141
    飞熊的头像 飞熊
    2023年3月3日
  • nacos使用和注意事项 技术随笔

    nacos使用和注意事项

    0 0115
    小半的头像 小半
    2023年2月10日
  • Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535 技术随笔

    Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535

    0 0118
    seven_的头像 seven_
    2023年2月22日
  • Mybatis-Plus详解,只用看这一篇就够了 技术随笔

    Mybatis-Plus详解,只用看这一篇就够了

    0 0108
    小半的头像 小半
    2023年1月13日
  • JVM(Java虚拟机)详解(JVM 内存模型、堆、GC、直接内存、性能调优) 技术随笔

    JVM(Java虚拟机)详解(JVM 内存模型、堆、GC、直接内存、性能调优)

    0 0176
    飞熊的头像 飞熊
    2023年3月7日
  • 14.输入三个整数 x,y,z,请把这三个数由小到大输出 技术随笔

    14.输入三个整数 x,y,z,请把这三个数由小到大输出

    0 0109
    飞熊的头像 飞熊
    2023年5月5日
  • jQ通过input的name取值(html转义.英文句号) 技术随笔

    jQ通过input的name取值(html转义.英文句号)

    0 0275
    seven_的头像 seven_
    2023年2月22日
  • Python中退出循环的两种不同方式:break和continue【含代码示例】 技术随笔

    Python中退出循环的两种不同方式:break和continue【含代码示例】

    0 081
    小半的头像 小半
    2023年1月12日
  • SQL解析相关报错 技术随笔

    SQL解析相关报错

    0 0114
    小半的头像 小半
    2023年2月16日
  • 【Linux】高频指令及简单的vim使用(0基础带你快速入门) 技术随笔

    【Linux】高频指令及简单的vim使用(0基础带你快速入门)

    0 0122
    飞熊的头像 飞熊
    2023年3月8日
  • strlen 转义字符 技术随笔

    strlen 转义字符

    0 0107
    小半的头像 小半
    2023年2月8日
  • 🏆【JVM深层系列】「云原生时代的Java虚拟机」针对于GraalVM的技术知识脉络的重塑和探究 技术随笔

    🏆【JVM深层系列】「云原生时代的Java虚拟机」针对于GraalVM的技术知识脉络的重塑和探究

    0 0110
    小半的头像 小半
    2023年1月6日

发表回复

登录后才能评论

站长精选

  • 轻松搞定 Spring 集成缓存,让你的应用程序飞起来!

    轻松搞定 Spring 集成缓存,让你的应用程序飞起来!

    2023年10月11日

  • Web服务器、Web容器、Servlet容器、Spring容器、SpringMVC容器...

    Web服务器、Web容器、Servlet容器、Spring容器、SpringMVC容器…

    2023年9月23日

  • 对线面试官:Redis 夺命连环 38 问,你能抗住多少?

    对线面试官:Redis 夺命连环 38 问,你能抗住多少?

    2023年8月14日

  • Spring Event 别瞎用!从我司的悲剧中,我总结了6 条最佳实践

    Spring Event 别瞎用!从我司的悲剧中,我总结了6 条最佳实践

    2024年1月7日

  • 巨好用的 Git 代码托管仓库,只需要一行命令即可完成安装

    巨好用的 Git 代码托管仓库,只需要一行命令即可完成安装

    2023年1月15日

  • 2.4K star,一个高性能、无侵入的Java性能监控和统计工具,有点东西!

    2.4K star,一个高性能、无侵入的Java性能监控和统计工具,有点东西!

    2022年12月14日

  • ChatGPT 王炸更新,有点操作系统的雏形了....

    ChatGPT 王炸更新,有点操作系统的雏形了….

    2023年3月26日

  • 为了DDD 熬夜撸了一套 IDEA 插件

    为了DDD 熬夜撸了一套 IDEA 插件

    2024年3月25日

  • 采用 SpringCloud 开发的一款医院信息系统(附源码)

    采用 SpringCloud 开发的一款医院信息系统(附源码)

    2023年12月13日

  • 停止在 SpringBoot 中使用字段注入!

    停止在 SpringBoot 中使用字段注入!

    2023年10月7日

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!

深圳SEO优化公司深圳关键词按天收费多少钱衢州网页设计哪家好金昌SEO按效果付费报价南澳英文网站建设哪家好孝感SEO按天扣费公司许昌网站改版公司百色百姓网标王哪家好廊坊外贸网站制作公司垦利网络营销公司曲靖网站改版价格漳州设计公司网站公司宣城SEO按天收费报价黄冈seo多少钱宜春英文网站建设多少钱武汉网站推广工具多少钱爱联外贸网站制作价格吴忠百姓网标王价格抚州百度网站优化排名公司安康外贸网站设计多少钱乌海关键词按天收费多少钱资阳模板网站建设哪家好西安百度爱采购报价诸城阿里店铺运营多少钱镇江seo网站推广平湖网站设计模板公司林芝建网站鹰潭网站推广工具公司大芬百度网站优化排名多少钱巢湖seo网站推广西乡网站搭建推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化