JS除錯技巧

2021-09-24 15:25:25 字數 1861 閱讀 2409

我們在除錯**時,往往追求優雅而高效的寫**,所以就出現了一系列除錯**的方法。這兒根據我的實際遇到的來講講這些除錯方法。

1、alert(不推薦使用)

不推薦使用的除錯方法,那我為啥放第乙個呢,因為這是初學者剛接觸js時的必經之路。

優點:初學者入門(說笑了,現在來看,這個方法幾乎沒有啥優點)

缺點:(1)、alert()會阻塞ui和js的執行,當執行的時候要關閉彈出框才能進行後續的操作,否則**將不能進行後續操作,很低效。

(2)、alert()只能列印輸出string,因為alert輸出的物件會自動呼叫tostring()方法

(3)、在輸出的是物件的時候,alert()輸出的是[object object],無法看到裡面的內容

2、console.log(推薦)

很多前端的小夥伴基本都會用console.log,不過好多都侷限於類似於console.log(x)的方式列印x到控制台,其實console.log有很強大的功能。

(1)、首先console.log()它是在控制台上進行列印,對**沒有阻塞的作用。

(2)、可以列印任何型別的資料,接受多個引數,結果拼接輸出到控制台,列印結果也可以通過控制台過濾。

(3)、在使用 console.log列印乙個引用型別(比如陣列和自定義物件)的物件的時候,輸出結果可能並不是執行 console.log方法那個時間點的值。

可以發現兩個 console.log輸出的結果展開後都是 [1, 2, 3, 4],因為陣列是引用型別,所以在展開後獲取到的都是陣列最新的狀態。我們可以使用 json.parse(json.stringify(...))來解決這個問題:

這個方法可以檢視到dom物件作為js物件的結構,可以列印出任何js物件的屬性列表。

4、console.table

這個方法可以說是很實用了,往往我們會遇到列印使用者列表資訊,然後我們console.log(users)會得到關於使用者的很多內容,但是我目前只想看一部分資訊,比如id,name,tel等,那我只需要console.table(users,['id','name','tel']);就好了,結果會以**的形式呈現給我們。

可檢測一段**的效能或者非同步所需的時間,就用定時器

注:console還有一些比較常用的提示性列印

console物件還有很多方法,等待大家去探尋

6、debugger打斷點

在控制台找到source原始碼,通過debugger關鍵字在原始碼中定義斷點,單步除錯。

查詢原始碼檔案時,按ctrl+p快捷鍵,快速查詢檔案

js除錯技巧

最近使用js進行一些開發工作,整理一下最近接觸的前台除錯技巧.在瀏覽器的開發者工具中 大部分瀏覽器都可以使用f12快捷鍵 在console頁籤中使用以下 就可以得到控制項觸發的函式方法名稱和相關資訊.data data button events data elem,events undefined...

前端js除錯技巧

不管動態載入的js ajax 還是普通的js檔案,對於ie而言,都可以通過 debugger 段進行斷點除錯.對於 chrome 而言,對於普通的js檔案的話需要使用 debugger 但是對於動態載入的指令碼的話,需要在動態載入的js檔案頂部新增標識 sourceurl name,name 自定義...

js除錯技巧和快捷鍵

一 逐語句執行 或者 逐步執行 按鈕 1 意思就是,每點選它一次,js語句就會往後執行一句 2 快捷鍵f10 二 逐過程執行 按鈕 1 常用在乙個方法呼叫多個js檔案時,涉及到的js 比較長,則會使用到這個按鈕 2 快捷鍵f8 三 console控制台 1 這個就是乙個js解析器,是瀏覽器本身用來解...