DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript調試說明
javascript調試說明
編輯:關於JavaScript     
以前javascript對於IO的支持很弱,不能寫入相應的文本文件中,而且異常對象Error也不統一,無法打印詳細的堆棧。自定義異常對象是個非常不討好的方法,因為通常我們只看到其message屬性,再者,其他自定義屬性需要用最慢的for...in循環遍歷出來。這時沒有辦法了,我們只有求助於浏覽器的各種私有實現,如firefox就有console.log。下面是console對象的方法列表,關於firebug更詳細的使用可見這篇文章。
函數 說明 log(obj[, obj, ...]) 向控制台輸出一個信息。可以輸入多個參數,輸出將已空格分隔各參數輸出。
第一參數可以包含格式化文本,例如:
log(‘這裡有%d個%s',count,apple);
字符串格式:
%s:字符串。
%d, %i:數字。
%f: 浮點數。
%o -超鏈接對象。
debug(obj[, obj, ...]) 向控制台輸出一個信息,信息包含一個超鏈接鏈接到輸出位置。 info(obj[, obj, ...]) 向控制台輸出一個帶信息圖標和背景顏色的信息,信息包含一個超鏈接鏈接到輸出位置。 warn(obj[, obj, ...]) 向控制台輸出一個帶警告圖標和背景顏色的信息,信息包含一個超鏈接鏈接到輸出位置。 error(obj[, obj, ...]) 向控制台輸出一個帶錯誤圖標和背景顏色的信息,信息包含一個超鏈接鏈接到輸出位置。 assert(expression[, obj, ...]) 測試一個表示是否為true,如果為false,提交一個例外信息到控制台。 dir(obj) 列出對象的所有屬性。 dirxml(node) 列出HTML或XML Element的XML源樹。 trace() 輸出堆棧的調用入口。 group(obj[, obj, ...]) 將信息分組再輸出到控制台。通過groupEnd()結束分組。 groupEnd() 結束分組輸出。 time(name) 創建一個名稱為name的計時器,計算代碼的執行時間,調用timeEnd(name)停止計時器並輸出執行時間。 timeEnd(name) 停止名稱為name的計時器並輸出執行時間。 profile([title]) 開始對腳本進行性能測試,title為測試標題。 profileEnd() 結束性能測試。 count([title]) 計算代碼的執行次數。titile作為輸出標題。
firebug就自不多說了,IE8也有console.log,不過這需要按下F12,進入調試模式時才有效,不然報錯。為了不報錯,平時我們應該實現一個空對象來覆蓋它。
復制代碼 代碼如下:
if (!window.console ){
window.console = {};
var methods = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"],
noop = function(){}
for (var i = 0,method;method=methods[i++];)
window.console[method] = noop;
}

大概opera9.5x之後吧,多了一個叫Dragonfly的東東。顯然,它無法與firebug花樣繁多的日志輸出相比,它只提供了一個opera.postError方法。
復制代碼 代碼如下:
if (window.opera && opera.postError) {
opera.postError(message);
}

safari也有console.log,它是基於其Web Inspector組件,感覺與firefox差不多,但我不是水果黨,不知道其方法有沒有firebug那麼多……對於浏覽器新貴chrome,現在我們可以在其擴展程序搜索安裝firebug的chrome版本。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved