JavaScript的console.log用法

用console.log替代alert

alert輸出內容會暫停程序 用控制檯輸出相對來說比較方便

按f12就可以輕鬆的打開控制檯

 Chrome 控制檯console的用法

大家可以看到控制檯裏面有一首詩還有其它信息,如果想清空控制檯,可以點擊左上角那個 Chrome 控制檯console的用法來清空,當然也可以通過在控制檯輸入console.clear()來實現清空控制檯信息。如下圖所示

 Chrome 控制檯console的用法

現在假設一個場景,如果一個數組裏面有成百上千的元素,但是你想知道每個元素具體的值,這時候想想如果你用alert那將是多慘的一件事情,因爲alert阻斷線程運行,你不點擊alert框的確定按鈕下一個alert就不會出現。

下面我們用console.log來替換,感受一下它的魅力。

 Chrome 控制檯console的用法

看了上面這張圖,是不是認識到log的強大之處了,下面我們來看看console裏面具體提供了哪些方法可以供我們平時調試時使用。

 Chrome 控制檯console的用法

目前控制檯方法和屬性有:

["$$", "$x", "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear", "getEventListeners", "undebug", "monitor", "unmonitor", "table", "$0", "$1", "$2", "$3", "$4", "$_"]

下面我們來一一介紹一下各個方法主要的用途。

一般情況下我們用來輸入信息的方法主要是用到如下四個

1、console.log 用於輸出普通信息

2、console.info 用於輸出提示性信息

3、console.error用於輸出錯誤信息

4、console.warn用於輸出警示信息

5、console.debug用於輸出調試信息

用圖來說話

 Chrome 控制檯console的用法

console對象的上面5種方法,都可以使用printf風格的佔位符。不過,佔位符的種類比較少,只支持字符(%s)、整數(%d或%i)、浮點數(%f)和對象(%o)四種


console.log("%d年%d月%d日",2011,3,26); 
console.log("圓周率是%f",3.1415926);

 Chrome 控制檯console的用法

%o佔位符,可以用來查看一個對象內部情況


var dog = {}; 
dog.name = "大毛";
dog.color = "黃色";
console.log("%o", dog);

 Chrome 控制檯console的用法

6、console.dirxml用來顯示網頁的某個節點(node)所包含的html/xml代碼


<body> 
<table id="mytable">
<tr>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>
<tr>
<td>bbb</td>
<td>aaa</td>
<td>ccc</td>
</tr>
<tr>
<td>111</td>
<td>333</td>
<td>222</td>
</tr>
</table>
</body>
<script type="text/javascript">
window.onload = function () {
var mytable = document.getElementById('mytable');
console.dirxml(mytable);
}
</script>

 Chrome 控制檯console的用法

7、console.group輸出一組信息的開頭

8、console.groupEnd結束一組輸出信息

看你需求選擇不同的輸出方法來使用,如果上述四個方法再配合group和groupEnd方法來一起使用就可以輸入各種各樣的不同形式的輸出信息。

 Chrome 控制檯console的用法

哈哈,是不是覺得很神奇呀!

9、console.assert對輸入的表達式進行斷言,只有表達式爲false時,才輸出相應的信息到控制檯

 Chrome 控制檯console的用法

10、console.count(這個方法非常實用哦)當你想統計代碼被執行的次數

 Chrome 控制檯console的用法

11、console.dir(這個方法是我經常使用的 可不知道比for in方便了多少) 直接將該DOM結點以DOM樹的結構進行輸出,可以詳細查對象的方法發展等等

 Chrome 控制檯console的用法

12、console.time 計時開始

13、console.timeEnd 計時結束(看了下面的圖你瞬間就感受到它的厲害了)

 Chrome 控制檯console的用法

14、console.profileconsole.profileEnd配合一起使用來查看CPU使用相關信息

 Chrome 控制檯console的用法

在Profiles面板裏面查看就可以看到cpu相關使用信息

 Chrome 控制檯console的用法

15、console.timeLineconsole.timeLineEnd配合一起記錄一段時間軸

16、console.trace 堆棧跟蹤相關的調試

上述方法只是我個人理解罷了。如果想查看具體API,可以上官方看看,具體地址爲:https://developer.chrome.com/devtools/docs/console-api

 

下面介紹一下控制檯的一些快捷鍵

1、方向鍵盤的上下鍵,大家一用就知曉。比如用上鍵就相當於使用上次在控制檯的輸入符號

2、$_命令返回最近一次表達式執行的結果,功能跟按向上的方向鍵再回車是一樣的

 Chrome 控制檯console的用法

上面的使 0~$4則代表了最近5個你選擇過的DOM節點。

什麼意思?在頁面右擊選擇審查元素,然後在彈出來的DOM結點樹上面隨便點選,這些被點過的節點會被記錄下來,而0DOM 1返回的是上上次點選的DOM節點,最多保存了5個,如果不夠5個,則返回undefined。

 Chrome 控制檯console的用法

3、Chrome 控制檯中原生支持類jQuery的選擇器,也就是說你可以用$加上熟悉的css選擇器來選擇DOM節點

 Chrome 控制檯console的用法

4、copy通過此命令可以將在控制檯獲取到的內容複製到剪貼板

 Chrome 控制檯console的用法

(哈哈 剛剛從控制檯複製的body裏面的html可以任意粘貼到哪 比如記事本 是不是覺得功能很強大)

5、keys和values 前者返回傳入對象所有屬性名組成的數據,後者返回所有屬性值組成的數組

 Chrome 控制檯console的用法

說到這,不免想起console.table方法了

 Chrome 控制檯console的用法

 

 

6、monitor & unmonitor

monitor(function),它接收一個函數名作爲參數,比如function a,每次a被執行了,都會在控制檯輸出一條信息,裏面包含了函數的名稱a及執行時所傳入的參數。

而unmonitor(function)便是用來停止這一監聽。

 Chrome 控制檯console的用法

看了這張圖,應該明白了,也就是說在monitor和unmonitor中間的代碼,執行的時候會在控制檯輸出一條信息,裏面包含了函數的名稱a及執行時所傳入的參數。當解除監視(也就是執行unmonitor時)就不再在控制檯輸出信息了。

$ // 簡單理解就是 document.querySelector 而已。 
$$ // 簡單理解就是 document.querySelectorAll 而已。
$_ // 是上一個表達式的值
$0-$4 // 是最近5個Elements面板選中的DOM元素,待會會講。
dir // 其實就是 console.dir
keys // 取對象的鍵名, 返回鍵名組成的數組
values // 去對象的值, 返回值組成的數組

 

下面看一下console.log的一些技巧

1、重寫console.log 改變輸出文字的樣式

 Chrome 控制檯console的用法

2、利用控制檯輸出圖片

 Chrome 控制檯console的用法

3、指定輸出文字的樣式

 Chrome 控制檯console的用法

最後說一下chrome控制檯一個簡單的操作,如何查看頁面元素,看下圖就知道了

 Chrome 控制檯console的用法

你在控制檯簡單操作一遍就知道了,是不是覺得很簡單!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章