js的控制檯輸出,平時除了用console.log外,你還知道哪些?使用console.log應該注意什麼?

王铁柱6發表於2024-11-29

除了 console.log(),JavaScript 控制檯還提供了許多其他輸出方法,各有不同的用途:

其他輸出方法:

  • console.info(): 用於輸出資訊性訊息,通常在瀏覽器控制檯中以藍色"i"圖示顯示。功能上與console.log幾乎相同。

  • console.warn(): 用於輸出警告資訊,通常在瀏覽器控制檯中以黃色感嘆號圖示顯示。

  • console.error(): 用於輸出錯誤資訊,通常在瀏覽器控制檯中以紅色"x"圖示顯示。

  • console.debug(): 用於輸出除錯資訊,預設情況下在瀏覽器控制檯中可能不顯示,需要開啟 verbose 模式。

  • console.table(): 將物件或陣列以表格形式輸出,便於檢視複雜資料結構。 尤其對於陣列或物件陣列非常有用。

  • console.group()console.groupEnd(): 用於將相關的輸出資訊分組,使控制檯輸出更清晰。可以巢狀使用。

  • console.groupCollapsed()console.groupEnd(): 與 console.group() 類似,但是預設摺疊分組資訊。

  • console.time()console.timeEnd(): 用於計時,console.time() 開始計時,console.timeEnd() 結束計時並輸出耗時。兩者需要使用相同的標籤。

  • console.trace(): 輸出 JavaScript 呼叫棧,用於追蹤程式碼執行路徑,方便除錯。

  • console.assert(): 斷言,如果第一個引數為假,則輸出第二個引數作為錯誤資訊。 用於在開發過程中進行簡單的錯誤檢查。

  • console.count(): 輸出某個標籤出現的次數,用於統計程式碼執行次數。

  • console.clear(): 清空控制檯。

使用 console.log() 的注意事項:

  • 效能影響: console.log() 會對效能造成一定影響,尤其是在迴圈中頻繁呼叫時。在生產環境中,建議移除或禁用不必要的 console.log() 語句。 可以使用工具或構建流程自動移除。

  • 避免直接輸出複雜物件: 對於複雜物件,直接使用 console.log() 輸出可能會導致瀏覽器卡頓,建議先使用 JSON.stringify() 將物件轉換為字串再輸出,或者使用 console.dir() 來檢視物件的屬性。console.table() 對於檢視複雜物件陣列也更加友好。

  • 注意迴圈引用: 如果物件存在迴圈引用,直接使用 console.log() 可能會導致瀏覽器崩潰。

  • 使用佔位符: console.log() 支援類似 C 語言 printf() 的佔位符,例如 console.log("The value of x is %d", x),可以使輸出更具可讀性。 也支援 %s, %f, %o, %O 等佔位符。

  • 利用樣式: 可以使用 CSS 樣式來美化控制檯輸出,例如 console.log("%c This is a styled message", "color: blue; font-size: 20px;")

  • 謹慎使用 console.log 進行除錯: 雖然 console.log 很方便,但對於複雜的除錯場景,建議使用瀏覽器的除錯工具,例如斷點、單步執行等,可以更有效地定位問題。

總之,console 物件提供了豐富的輸出方法,合理地使用這些方法可以提高開發效率,並使除錯過程更加輕鬆。 選擇合適的輸出方法可以使資訊更清晰,也更容易定位問題。 在生產環境中,需要注意 console.log 的效能影響,並移除不必要的輸出語句。

相關文章