不要在JavaScript中使用 Console.log,試試這個

調(diào)試,程序員極力避免的事情,因為這樣只會在代碼中產(chǎn)生更多的錯誤。
即使是最優(yōu)秀的程序員,也會發(fā)現(xiàn)自己沒有辦法寫,沒有錯誤的代碼。這就是為什么你應(yīng)該總是需要調(diào)試代碼。
調(diào)試JavaScript代碼最佳方法之一是console.log()。除此之外還有更好的辦法。
這就是本文的重點講述與控制臺交互的方法。在復(fù)雜的ide中輸入consol可以提供自動完成提示功能。

除了console.log(),這里還有其他更好的選擇。使用這些選項可以讓調(diào)試過程變得更加容易和更快。
console.warn()和console.error()
當(dāng)存在可以停止應(yīng)用程序工作的錯誤時,使用console.log來調(diào)試它是行不通的。
這會是你的控制臺消息變得異?;靵y,讓你找不到你想要找的消息。
使用console.warn() 和 console.error() 是克服這個問題的好方法。
console.warn("This is a warning");
console.error("This is an error")時間operations
想看看這段代碼運行需要多長時間?
使用console.time()
首先,創(chuàng)建一個計時器并為其指定一個唯一的名稱。
console.time("Loop timer")然后,運行該代碼段。
for(i = 0; i < 10000; i++){
    // Some code here
}然后調(diào)用 timeEnd().
console.timeEnd("Loop timer")這是所有的代碼。
console.time("Loop timer")
for(i = 0; i < 10000; i++){
    // Some code here
}
console.timeEnd("Loop timer")
這對于需要一些時間密集型應(yīng)用程序非常有用,例如神經(jīng)網(wǎng)絡(luò)或 HTML Canvas 讀取。
最終代碼的運行
想看看函數(shù)是如何被調(diào)用的嗎?
function trace(){
    console.trace()
}
function randomFunction(){
    trace();
}在這里,有一個名為randomFunction 調(diào)用trace,它又調(diào)用console.trace()。
所以當(dāng)你調(diào)用randomFunction, 你會得到類似如下的輸出。

上圖顯示的那個匿名的方法調(diào)用了 randomFunction, 然后調(diào)用 trace().
控制臺消息分組
對控制臺消息進(jìn)行分組,可以使控制臺更易于閱讀。
console.log("Test1!");
console.group("My message group");
console.log("Test2!");
console.log("Test2!");
console.log("Test2!");
console.groupEnd()所有的 Test2 歸于 ‘My message group’組之下.

清除控制臺消息
如果你遵循本教程,那么你的控制臺將會非常滿。讓我們把它清除掉。
console.clear();下面就是結(jié)果。

沒有什么特別的,我只是又清除了一遍,讓我們繼續(xù)。
表格
讓我們添加表格,以更好的可視化數(shù)據(jù),想象一下我們有兩個對象。
var person1 = {name: "Weirdo", age : "-23", hobby: "singing"}
var person2 = {name: "SomeName", age : "Infinity", hobby: "programming"}簡單的使用console.log 只會讓數(shù)據(jù)看起來很混亂。

使用表格就會更好一點。
console.table({person1, person2})
從未見過JavaScript控制臺可以如此的干凈,對吧?
在控制臺中使用CSS ?
是的,你沒看錯,你可以將css添加到控制臺。
console.log("%c I love JavaScript!", 
  "color: red; background-color: lightblue; border: solid");注意這個%c 標(biāo)識. 這就是發(fā)揮魔法的地方。.
















 
 
 











 
 
 
 