你不知道的console命令詳解


一  什么是 Console

Console 是用於顯示 JS和 DOM 對象信息的單獨窗口。並且向 JS 中注入1個 console 對象,使用該對象 可以輸出信息到 Console 窗口中。

 

二  什么瀏覽器支持 Console

很多人可能都知道 Chrome 和 FireFox(FireBug)中都支持 Console。而其他瀏覽器都支 持不好。比如 IE8 自帶的開發工具雖然支持 Console,但功能比較單調,顯示對象的時候都是顯示 [Object,Object],而且不能點擊查看對象里面的屬性。IE6、IE7 雖然可以安裝 Developer Toolbar,但也 不支持 console。Safari、Opera 都支持 Console,但使用上都沒有 FireBug和 Chrome 的方便。 現在firebug推出了 firebuglite工具,可以讓所有瀏覽器都支持Console功能,而且使用上和FireBug 幾乎一樣。詳見 http://getfirebug.com/firebuglite

 

三  為什么不直接使用 alert 或自己寫的 log

使用 alert 不是一樣可以顯示信息,調試程序嗎?alert 彈出窗口會中斷程序, 如果要在循環中顯示信息,手點擊關閉窗口都累死。而且 alert 顯示對象永遠顯示為[object ]。 自己寫的 log 雖然可以顯示一些 object 信息,但很多功能支持都沒有 console 好,看完后面 console 的介紹就知道了。


(部分比較雞肋的方法沒有列出來,用粗藍標出來的是常用的方法)

 

四  Console.log(object[, object, ...])

Console.log 是最簡單輸出信息到 console 窗口的方法,支持多個參數,該方法會把 這些參數組合在一起顯示,e.g:

log 方法第一個參數支持類似 C 語言 printf 字符串替換模式,Log 支持下面幾種替換模式:

 

  • %s  代替字符串
  • %d  代替整數
  • %f  代替浮點值
  • %o  代替 Object

e.g:

 

五  console.debug,info,warn,error

這 4 種方法與 log 方法使用一模一樣,只是顯示的圖標和文字顏色不一樣.

 

六  console.assert(expression[, object, ...])

assert 方法類似於單元測試中的斷言,當 expression 表達式為 false 的時候,輸出后面的信息,e.g: 注:assert 方法在 firebuglite 不支持,Chrome 和 FireBug 支持

 

七  console.clear()

該方法清空 console 中的所有信息 (Chrome中不支持)

 

八  console.dirxml(node)

把 html 元素的html 代碼打印出來,等同於log.

 

九  console.trace()

trace 方法可以查看當前函數的調用堆棧信息,即當前函數是如何調用的,e.g:

 

十  console.group(object[, object, ...]), groupCollapsed, groupEnd

這 3 個函數用於把 log 等輸出的信息進行分組,方便閱讀查看。

groupCollapsed 方法與 group 方法一樣,只是顯示的分組默認是折疊的.

 

十一  console.time(name)/console.timeEnd(name)

我們經常需要測試 js 函數的執行時間,可能我們自己寫代碼在第1 條語句和 最后 1 條語句取當前時間相減。這組函數其實就實現了這樣的功能,time(name)根據 name 創建 1 個新 的計時器。timeEnd(name)停止給定name 的計時器,並顯示時間。

 

十二  console.profile(name)/console.profileEnd()

這組方法用於打開瀏覽器的分析器,用於分析這組函數之間的 js 執行情況, 注:firebuglite 不支持 profile 功能,Chrome 支持 profile,但分析的內容不詳。

 

十三  console.count([title])

count 方法用於統計當前代碼被執行過多少次,title 參數可以在次數前面輸出額外的標題以幫助閱讀。e.g:

 

十四  console.table(data)

table 方法把data 對象用表格的方式顯示出來,這在顯示數組或者格式一樣的JSON 對象的時候非常有用。

注:table 只支持 FireBug,而且是在 firebug1.6+版本后才有。

 

總結: Console 是幫助我們學習和調試 JS的 1 個非常好工具,如果你以前沒用過,哪現在就開始用它吧。

你會發現它能幫你省很多開發時間的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM