從我的文章拷貝過來的,可以簡單看下(截圖復(fù)制不過來,抱歉)
引言
在我們的日常開發(fā)中我們常常會遇到JavaScript的調(diào)試問題,而我們解決問題的傳統(tǒng)解決方案就是使用大量的console.log或者console對象的其他方法,這會給我們帶來很多不便,特別是遇到復(fù)雜問題的時候,可能會出現(xiàn)大量的console.log,當(dāng)排查出問題之后我們又不得不在回頭清除掉這些調(diào)試信息,這樣大大降低了我們的工作效率。所以,我們有必要尋找更好的方案來解決JavaScript的調(diào)試問題,無疑,Chrome的調(diào)試工具ChromeDevTools給我們帶來了調(diào)試的遍歷,下面我們一步步來學(xué)習(xí)一遍在DevTools中調(diào)試的基本工作流程!
第一步:明確我們需要調(diào)試的位置
我們通過一節(jié)簡單的案例來模擬一下,本案例來源于官網(wǎng)的調(diào)試Demo,其中index.html代碼如下
然后是index.js
代碼的本意是要做一個簡單的加法,但是我們運行看下結(jié)果:
顯然執(zhí)行結(jié)果是錯誤的,結(jié)果應(yīng)該是33,我們假設(shè)這就是我們在開發(fā)中遇到的問題
第二步:打開Chrome的調(diào)試面板
Command+Option+I(Mac)或Control+Shift+I(Windows、Linux)或者F12
點擊Source標(biāo)簽,Source有三塊面板
從左依次是
FileNavigator窗格。此處列出頁面請求的每個文件。
CodeEditor窗格。在FileNavigator窗格中選擇文件后,此處會顯示該文件的內(nèi)容。
JavaScriptDebugging窗格。檢查頁面JavaScript的各種工具。如果DevTools窗口布局較寬,此窗格會顯示在CodeEditor窗格右側(cè)。
使用斷點暫停代碼
通常我們會在這寫console.log,打完斷點我們在填入兩個數(shù)字提交
我們的代碼在斷點處暫停了,很直觀的能看到我們需要看的變量值,簡單來說就是斷點可以快速方便的查看你想看的值,有時候我想單步調(diào)試代碼,直接F10就行了,想進(jìn)入到函數(shù)中按F11,我們調(diào)試到這和我們猜想的一樣,由于是字符串那么+號就意味著連接,也就造成了錯誤的結(jié)果。
使用控制臺直接求值
我認(rèn)為這是最值得贊一波的功能,因為我們可以直接在控制臺輸入變量或者表達(dá)式或者執(zhí)行一個函數(shù),我們打開console標(biāo)簽,輸入以下內(nèi)容,前提是我們在之前那個地方打了斷點
我們可以執(zhí)行我們需要執(zhí)行的函數(shù)和表達(dá)式,然后也正確的看到了結(jié)果,知道的人可能覺得沒什么,但是不知道的人可能覺得這個功能非常Nice,或者你可以直接修改代碼保存后在執(zhí)行,同樣知道了結(jié)果,而不必再到編輯器修改,調(diào)試正確后直接復(fù)制過去即可
總結(jié)
本文就是想通過簡單的案例介紹來改變下我們傳統(tǒng)的js調(diào)試方式,目的就是為了提升工作效率,當(dāng)然也有很多其它方式調(diào)試javascript,比如WebStorm,VSCode安裝DebugforChrome,只是我覺得這種方式最直接,同時也最簡單,雖然是小技巧,但是也得知道不是,希望對大家能夠有所幫助!