1. 程式人生 > >關於JavaScript console的使用

關於JavaScript console的使用

  • 使用console.log()進行基本日誌記錄
  • 使用console.erroe()和console.warn()獲取醒目的內容
  • 使用console.group()和console.groupEnd()來分組相關訊息,避免混亂
  • 使用console.assert()顯示條件語句錯誤訊息

1.console.log(“Node count:”, a.childNodes.length, “and the current time is:”, Date.now()); 分空格列印多行 console.error();console.warn();
2. 使用console.group()命令,通過傳遞一個字串引數來設定分組的名稱。在JavaScript中呼叫它之後,控制檯會將所有後續輸出組合在一起。要結束分組,只需呼叫console.groupEnd()。
僅當屬於列表元素的子節點的數量大於(等於)500時,將在控制檯中觸發一個錯誤訊息。
console.assert(list.childNodes.length < 500, “Node count is > 500”);

使用console.time()和console.timeEnd()測量程式碼兩個執行點之間所需的時間。

console.time("Array initialize");
var array= new Array(1000000);
for (var i = array.length - 1; i >= 0; i--) {
    array[i] = new Object();
};
console.timeEnd("Array initialize");

如何檢查堆疊跟蹤以找到錯誤源

讓我們看看如何使用剛才學到的工具,並找出錯誤的真正原因。這裡有一個簡單的HTML頁面,其中包含兩個指令碼:

在這裡插入圖片描述

當用戶點選頁面時,段落(**<.p .>**標籤)內的文字將被改變,並呼叫lib.js提供的callLibMethod()函式。

此函式列印一個console.log,然後呼叫console.slog,一個不是由Console API提供的方法。 這應該會觸發一個錯誤。
當頁面執行並點選它時,會觸發這個錯誤:
在這裡插入圖片描述
單擊箭頭可以展開錯誤訊息:
在這裡插入圖片描述
控制檯告訴您,錯誤是在lib.js第4行中觸發的,它又是由script.js第3行中addEventListener回撥的一個匿名函式觸發。

這是一個非常簡單的例子,但不管多複雜的除錯都遵循相同的過程。

Chrome公開了window.onerror的處理函式,每當在JavaScript程式碼執行中發生錯誤時呼叫。每當 JavaScript 丟擲的異常在window上下文中,並且沒有被try / catch捕獲時,該函式被呼叫,異常訊息(message),丟擲異常的檔案URL(url)和行號(line),作為三個引數依次傳遞。

window.onerror=function(message,url.line){
console.log();
}

最後推薦一個chrome開發者選項使用的指南:http://www.css88.com/doc/chrome-devtools/