javascript調試說明

來源:互聯網
上載者:User

以前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,進入偵錯模式時才有效,不然報錯。為了不報錯,平時我們應該實現一個Null 物件來覆蓋它。 複製代碼 代碼如下: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版本。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.