(此處轉自 伯樂在線 - CharlieChu )javascript
Chrome開發者工具詳解(1):Elements、Console、Sources面板css
Chrome開發者工具詳解(2):Network面板html
Chrome開發者工具詳解(4):Profiles面板java
Chrome開發者工具詳解(5):Application、Security、Audits面板node
(此處轉自 深度開源 )web
你們都有用過各類類型的瀏覽器,每種瀏覽器都有本身的特點,本人拙見,在我用過的瀏覽器當中,我是最喜歡Chrome的,由於它對於調試腳本及前端設計調試都有它比其它瀏覽器有過之而無不及的地方。可能你們對console.log會有必定的瞭解,內心不免會想調試的時候用alert不就好了,幹嗎還要用console.log這麼一長串的字符串來替代alert輸出信息呢,下面我就介紹一些調試的入門技巧,讓你愛上console.logchrome
先的簡單介紹一下chrome的控制檯,打開chrome瀏覽器,按f12就能夠輕鬆的打開控制檯api
你們能夠看到控制檯裏面有一首詩還有其它信息,若是想清空控制檯,能夠點擊左上角那個來清空,固然也能夠經過在控制檯輸入console.clear()來實現清空控制檯信息。以下圖所示數組
如今假設一個場景,若是一個數組裏面有成百上千的元素,可是你想知道每一個元素具體的值,這時候想一想若是你用alert那將是多慘的一件事情,由於alert阻斷線程運行,你不點擊alert框的肯定按鈕下一個alert就不會出現。
下面咱們用console.log來替換,感覺一下它的魅力。
看了上面這張圖,是否是認識到log的強大之處了,下面咱們來看看console裏面具體提供了哪些方法能夠供咱們平時調試時使用。
目前控制檯方法和屬性有:
["$$", "$x", "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear", "getEventListeners", "undebug", "monitor", "unmonitor", "table", "$0", "$1", "$2", "$3", "$4", "$_"]
下面咱們來一一介紹一下各個方法主要的用途。
通常狀況下咱們用來輸入信息的方法主要是用到以下四個
用圖來講話
console對象的上面5種方法,均可以使用printf風格的佔位符。不過,佔位符的種類比較少,只支持字符(%s)、整數(%d或%i)、浮點數(%f)和對象(%o)四種。
console.log("%d年%d月%d日",2011,3,26); console.log("圓周率是%f",3.1415926);
%o佔位符,能夠用來查看一個對象內部狀況
var dog = {}; dog.name = "大毛"; dog.color = "黃色"; console.log("%o", dog);
<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>
看你需求選擇不一樣的輸出方法來使用,若是上述四個方法再配合group和groupEnd方法來一塊兒使用就能夠輸入各類各樣的不一樣形式的輸出信息。
哈哈,是否是以爲很神奇呀!
在Profiles面板裏面查看就能夠看到cpu相關使用信息
上述方法只是我我的理解罷了。若是想查看具體API,能夠上官方看看,具體地址爲:https://developer.chrome.com/devtools/docs/console-api
上面的$_須要領悟其奧義才能使用得當,而$0~$4則表明了最近5個你選擇過的DOM節點。
什麼意思?在頁面右擊選擇審查元素,而後在彈出來的DOM結點樹上面隨便點選,這些被點過的節點會被記錄下來,而$0會返回最近一次點選的DOM結點,以此類推,$1返回的是上上次點選的DOM節點,最多保存了5個,若是不夠5個,則返回undefined。
(哈哈 剛剛從控制檯複製的body裏面的html能夠任意粘貼到哪 好比記事本 是否是以爲功能很強大)
說到這,難免想起console.table方法了
monitor(function),它接收一個函數名做爲參數,好比function a,每次a被執行了,都會在控制檯輸出一條信息,裏面包含了函數的名稱a及執行時所傳入的參數。
而unmonitor(function)即是用來中止這一監聽。
看了這張圖,應該明白了,也就是說在monitor和unmonitor中間的代碼,執行的時候會在控制檯輸出一條信息,裏面包含了函數的名稱a及執行時所傳入的參數。當解除監視(也就是執行unmonitor時)就再也不在控制檯輸出信息了。
$ // 簡單理解就是 document.querySelector 而已。 $$ // 簡單理解就是 document.querySelectorAll 而已。 $_ // 是上一個表達式的值 $0-$4 // 是最近5個Elements面板選中的DOM元素,待會會講。 dir // 其實就是 console.dir keys // 取對象的鍵名, 返回鍵名組成的數組 values // 去對象的值, 返回值組成的數組
下面看一下console.log的一些技巧
一、重寫console.log 改變輸出文字的樣式
二、利用控制檯輸出圖片
三、指定輸出文字的樣式
最後說一下chrome控制檯一個簡單的操做,如何查看頁面元素,看下圖就知道了
你在控制檯簡單操做一遍就知道了,是否是以爲很簡單!