利用 Console 來調試JavaScrip

來源:互聯網
上載者:User

一  什麼是 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 
 
五  console.debug,info,warn,error 
這 4 種方法與 log 方法使用一模一樣,只是顯示的表徵圖和文字顏色不一樣,e.g

六  console. assert(expression[, object, ...]) 
assert 方法類似於單元測試中的斷言,當 expression 運算式為 false 的時候,輸出後面的資訊,e.g: 
 
 
註:assert 方法在 firebuglite 不支援,Chrome 和 FireBug 支援 
 
七  console.clear() 
該方法清空 console 中的所有資訊 
 
八  console.dir(object) 
以列表的方式列印 object 對象中的所有屬性,e.g: 

 九  console.dirxml(node) 
把 html 元素的html 代碼列印出來,e.g: 
 
十  console.trace() 
trace 方法可以查看當前函數的呼叫堆疊資訊,即當前函數是如何調用的,e.g: 

十一  console.group(object[, object, ...]), groupCollapsed, groupEnd 
這 3 個函數用於把 log 等輸出的資訊進行分組,方便閱讀查看。groupCollapsed 
    方法與 group 方法一樣,只是顯示的分組預設是摺疊的,e.g: 
 
 十二  console.time(name)/console.timeEnd(name) 
我們經常需要測試 js 函數的執行時間,可能我們自己寫代碼在第1 條語句和 
最後 1 條語句取目前時間相減。這組函數其實就實現了這樣的功能,time(name)根據 name 建立 1 個新
的計時器。timeEnd(name)停止給定name 的計時器,並顯示時間。e.g: 

十三  console.profile(name)/console.profileEnd() 
這組方法用於開啟瀏覽器的分析器,用於分析這組函數之間的 js 執行情況, 
 
十四  console.count([title]) 
count 方法用於統計當前代碼沒執行過多少次,title 參數可以在次數前面輸出 
額外的標題以協助閱讀,e.g: 
註: firebuglite 不支援 count 方法,上述代碼在 Chrome 中會列印 1000 次,顯示沒有 FireBug 那麼友好。 
 
十五  console.exception(error-object) 
exception 方法用於列印異常對象,與 log 列印不一樣是,except ion 還會列印 
該異常調用的堆棧資訊,e.g: 
註:exception 方法是 FireBug 專屬的方法,Chrome 和 firebuglite 都不支援。 
 
十六  console.table(data) 
table 方法把data 對象用表格的方式顯示出來,這在顯示數組或者格式一樣的 
JSON 對象的時候非常有用。e

註:table 只支援 FireBug,而且是在 firebug1.6+版本後才有。 
 
總結: 
  Console 是協助我們學習和調試 JS的 1 個非常好工具,如果你以前沒用過,哪現在就開始用它吧。你
會發現它能幫你省很多開發時間的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.