一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - js教程 - JS 的 六種打斷點(diǎn)的方式,你用過幾種?

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

2021-12-16 22:24神光的編程秘籍神說要有光zxg js教程

Debugger 是前端開發(fā)很重要的一個(gè)工具,它可以在我們關(guān)心的代碼處斷住,通過單步運(yùn)行來理清邏輯。而 Debugger 用的好壞與斷點(diǎn)打得好壞有直接的關(guān)系。

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

Debugger 是前端開發(fā)很重要的一個(gè)工具,它可以在我們關(guān)心的代碼處斷住,通過單步運(yùn)行來理清邏輯。而 Debugger 用的好壞與斷點(diǎn)打得好壞有直接的關(guān)系。

Chrome Devtools 和 VSCode 都提供了 Debugger,它們支持的打斷點(diǎn)的方式有 6 種。

普通斷點(diǎn)

在想斷住的那一行左側(cè)單擊一下就可以添加一個(gè)斷點(diǎn),運(yùn)行到該處就會(huì)斷住。

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

這是最基礎(chǔ)的斷點(diǎn)方式,VSCode 和 Chrome Devtools 都支持這種斷點(diǎn)。

條件斷點(diǎn)

右鍵單擊代碼所在的行左側(cè),會(huì)出現(xiàn)一個(gè)下拉框,可以添加一個(gè)條件斷點(diǎn)。

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

輸入條件表達(dá)式,當(dāng)運(yùn)行到這一行代碼并且表達(dá)式的值非空時(shí)就會(huì)斷住,這比普通斷點(diǎn)靈活些。

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

這種根據(jù)條件來斷住的斷點(diǎn) VSCode 和 Chrome Devtools 也都支持。

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

DOM 斷點(diǎn)

在 Chrome Devtools 的 Elements 面板的對(duì)應(yīng)元素上右鍵,選擇 break on,可以添加一個(gè) dom 斷點(diǎn),也就是當(dāng)子樹有變動(dòng)、屬性有變動(dòng)、節(jié)點(diǎn)移除這三種情況的時(shí)候會(huì)斷住。可以用來調(diào)試導(dǎo)致 dom 變化的代碼。

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

涉及到 DOM 的調(diào)試,只有 Chrome Devtools 支持這種斷點(diǎn)。

URL 斷點(diǎn)

在 Chrome Devtools 的 Sources 面板可以添加 XHR 的 url 斷點(diǎn),當(dāng) ajax 請(qǐng)求對(duì)應(yīng) url 時(shí)就會(huì)斷住,可以用來調(diào)試請(qǐng)求相關(guān)的代碼。

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

這個(gè)功能只有 Chrome Devtools 有。

Event Listener 斷點(diǎn)

在 Chrome Devtools 的 Sources 面板還可以添加 Event Listener 的斷點(diǎn),指定當(dāng)發(fā)生什么事件時(shí)斷住,可以用來調(diào)試事件相關(guān)代碼。

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

這個(gè)功能也是只有 Chrome Devtools 有。

異常斷點(diǎn)

在 VSCode 的 Debugger 面板勾選 Uncaught Exceptions 和 Caught Exceptions 可以添加異常斷點(diǎn),在拋出異常未被捕獲或者被捕獲時(shí)斷柱。用來調(diào)試一些發(fā)生異常的代碼時(shí)很有用。

JS 的 六種打斷點(diǎn)的方式,你用過幾種?

這個(gè)功能只有 VSCode 有。

總結(jié)

Debugger 打斷點(diǎn)的方式除了直接在對(duì)應(yīng)代碼行單擊的普通斷點(diǎn)以外,還有很多根據(jù)不同的情況來添加斷點(diǎn)的方式。

一共有六種:

  • 普通斷點(diǎn):運(yùn)行到該處就斷住
  • 條件斷點(diǎn):運(yùn)行到該處且表達(dá)式為真就斷住,比普通斷點(diǎn)更靈活
  • DOM 斷點(diǎn):DOM 的子樹變動(dòng)、屬性變動(dòng)、節(jié)點(diǎn)刪除時(shí)斷住,可以用來調(diào)試引起 DOM 變化的代碼
  • URL 斷點(diǎn):URL 匹配某個(gè)模式的時(shí)候斷住,可以用來調(diào)試請(qǐng)求相關(guān)代碼
  • Event Listener 斷點(diǎn):觸發(fā)某個(gè)事件監(jiān)聽器的時(shí)候斷住,可以用來調(diào)試事件相關(guān)代碼
  • 異常斷點(diǎn):拋出異常被捕獲或者未被捕獲的時(shí)候斷住,可以用來調(diào)試發(fā)生異常的代碼

這些打斷點(diǎn)方式大部分都是 Chrome Devtools 支持的(普通、條件、DOM、URL、Event Listener),也有的是 VSCode Debugger 支持的(普通、條件、異常)。

不同情況下的代碼可以用不同的打斷點(diǎn)方式,這樣調(diào)試代碼會(huì)高效很多。

JS 的六種打斷點(diǎn)方式,你用過幾種呢?

原文鏈接:https://mp.weixin.qq.com/s/jpjgp3g04j2wooZsBHmrBA

延伸 · 閱讀

精彩推薦
  • js教程JavaScript中arguments的使用方法詳解

    JavaScript中arguments的使用方法詳解

    這篇文章主要給大家介紹了關(guān)于JavaScript中arguments的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的...

    等待的L先生3542021-12-15
  • js教程原生JS實(shí)現(xiàn)京東查看商品點(diǎn)擊放大

    原生JS實(shí)現(xiàn)京東查看商品點(diǎn)擊放大

    這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)京東查看商品點(diǎn)擊放大,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    A.香辣雞腿堡7122021-12-15
  • js教程微信小程序?qū)崿F(xiàn)modal彈出框遮罩層組件(可帶文本框)

    微信小程序?qū)崿F(xiàn)modal彈出框遮罩層組件(可帶文本框)

    這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)modal彈出框遮罩層組件(可帶文本框)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者...

    BadmintonCode3372021-12-15
  • js教程ES5和ES6中類的區(qū)別總結(jié)

    ES5和ES6中類的區(qū)別總結(jié)

    這篇文章主要給大家介紹了ES5和ES6中類的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋...

    Totora612012021-12-16
  • js教程在HTML中使用JavaScript的兩種方法

    在HTML中使用JavaScript的兩種方法

    這篇文章主要介紹了在HTML中使用JavaScript的兩種方法,幫助大家更好的理解和制作網(wǎng)頁,感興趣的朋友可以了解下...

    itbsl9102021-12-18
  • js教程基于javascript實(shí)現(xiàn)移動(dòng)端輪播圖效果

    基于javascript實(shí)現(xiàn)移動(dòng)端輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了基于javascript實(shí)現(xiàn)移動(dòng)端輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    A.香辣雞腿堡8952021-12-15
  • js教程Jquery+javascript實(shí)現(xiàn)支付網(wǎng)頁數(shù)字鍵盤

    Jquery+javascript實(shí)現(xiàn)支付網(wǎng)頁數(shù)字鍵盤

    這篇文章主要為大家詳細(xì)介紹了Jquery+javascript實(shí)現(xiàn)支付網(wǎng)頁數(shù)字鍵盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一...

    юноша 25652021-12-15
  • js教程js事件模型與自定義事件實(shí)例解析

    js事件模型與自定義事件實(shí)例解析

    JavaScript一個(gè)最簡(jiǎn)單的事件模型,需要有事件綁定與觸發(fā),還有事件刪除。本文將對(duì)其具體實(shí)現(xiàn)代碼進(jìn)行解析,需要的朋友一起來看下吧...

    caihg5532021-12-15
主站蜘蛛池模板: japonensis中国东北老人 | 91九色视频无限观看免费 | 91麻豆精品国产91久久久 | 久久观看视频 | 欧美性高清另类videosex死尸 | 91在线亚洲综合在线 | 国产高清一区二区三区免费视频 | 精品一区二区三区在线视频观看 | 我和子伦系列小说 | 日韩精品视频在线播放 | 俄罗斯一级淫片 | 34看网片午夜理 | 好大好爽好涨太深了小喜 | 欧美日韩视频一区三区二区 | 亚洲欧美成人综合久久久 | 香蕉精品国产高清自在自线 | 无遮挡h肉动漫在线观看电车 | 色人阁导航 | 日韩欧美高清一区 | 国产在线观看人成激情视频 | coolgay男男gayxxx chinese壮直男gay老年人 chinese野外gay军人 | 草草视频免费观看 | 午夜A级理论片左线播放 | 久久学生精品国产自在拍 | 禁止的爱善良的未删减版hd | 无码乱人伦一区二区亚洲 | 亚洲国产精品热久久 | 男人午夜免费视频 | 1024免费福利永久观看网站 | 精选国产AV精选一区二区三区 | 色综合91久久精品中文字幕 | 好大好硬抽搐好爽想要 | 青青草原国产在线 | 无人在线高清免费看 | chinesespanking调教 | 日韩福利网 | 99精彩视频 | 欧美精选欧美极品 | 69一级毛片 | 色婷婷影院在线视频免费播放 | 国产精品亚洲片夜色在线 |