自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JS 的 六種打斷點的方式,你用過幾種?

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

[[440675]]

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

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

普通斷點

在想斷住的那一行左側單擊一下就可以添加一個斷點,運行到該處就會斷住。

這是最基礎的斷點方式,VSCode 和 Chrome Devtools 都支持這種斷點。

條件斷點

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

輸入條件表達式,當運行到這一行代碼并且表達式的值非空時就會斷住,這比普通斷點靈活些。

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

DOM 斷點

在 Chrome Devtools 的 Elements 面板的對應元素上右鍵,選擇 break on,可以添加一個 dom 斷點,也就是當子樹有變動、屬性有變動、節(jié)點移除這三種情況的時候會斷住??梢杂脕碚{(diào)試導致 dom 變化的代碼。

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

URL 斷點

在 Chrome Devtools 的 Sources 面板可以添加 XHR 的 url 斷點,當 ajax 請求對應 url 時就會斷住,可以用來調(diào)試請求相關的代碼。

 

這個功能只有 Chrome Devtools 有。

Event Listener 斷點

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

這個功能也是只有 Chrome Devtools 有。

異常斷點

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

這個功能只有 VSCode 有。

總結

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

一共有六種:

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

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

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

JS 的六種打斷點方式,你用過幾種呢?

 

責任編輯:姜華 來源: 神光的編程秘籍
相關推薦

2022-03-28 20:57:31

私有屬性class屬性和方法

2023-10-30 11:53:37

繼承JS父類

2025-01-21 10:04:40

Java并發(fā)阻塞隊列

2025-04-17 07:10:03

API架構項目

2019-09-02 11:14:08

隔離虛擬機操作系統(tǒng)

2018-08-03 16:40:06

前端前端框架微服務

2024-11-08 09:37:10

C#組件

2025-02-27 00:00:30

SpringJava方式

2019-05-16 13:00:18

異步編程JavaScript回調(diào)函數(shù)

2017-06-26 10:35:58

前端JavaScript繼承方式

2022-03-23 12:55:50

農(nóng)業(yè)物聯(lián)網(wǎng)

2020-07-31 11:12:39

安全威脅網(wǎng)絡攻擊網(wǎng)絡安全

2020-04-27 09:00:00

雙因素認證身份認證生物識別

2022-01-14 10:34:50

黑客隱藏蹤跡網(wǎng)絡安全

2017-07-20 08:47:19

網(wǎng)頁加載時間移動開發(fā)IT

2024-10-30 16:39:45

2009-02-11 09:46:00

ASON網(wǎng)絡演進

2019-01-17 10:58:52

JS異步編程前端

2019-04-30 10:00:59

CSS居中前端

2022-02-14 22:04:50

瀏覽器Observer監(jiān)聽
點贊
收藏

51CTO技術棧公眾號