欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript調(diào)試說(shuō)明

 更新時(shí)間:2010年06月07日 23:31:13   作者:  
自從AJAX崛起后,javascript的程序越來(lái)越龐大,不得不考慮到各種測(cè)試。
以前javascript對(duì)于IO的支持很弱,不能寫入相應(yīng)的文本文件中,而且異常對(duì)象Error也不統(tǒng)一,無(wú)法打印詳細(xì)的堆棧。自定義異常對(duì)象是個(gè)非常不討好的方法,因?yàn)橥ǔN覀冎豢吹狡鋗essage屬性,再者,其他自定義屬性需要用最慢的for...in循環(huán)遍歷出來(lái)。這時(shí)沒有辦法了,我們只有求助于瀏覽器的各種私有實(shí)現(xiàn),如firefox就有console.log。下面是console對(duì)象的方法列表,關(guān)于firebug更詳細(xì)的使用可見這篇文章。
函數(shù) 說(shuō)明
log(obj[, obj, ...]) 向控制臺(tái)輸出一個(gè)信息??梢暂斎攵鄠€(gè)參數(shù),輸出將已空格分隔各參數(shù)輸出。
第一參數(shù)可以包含格式化文本,例如:
log(‘這里有%d個(gè)%s',count,apple);
字符串格式:
%s:字符串。
%d, %i:數(shù)字。
%f: 浮點(diǎn)數(shù)。
%o -超鏈接對(duì)象。
debug(obj[, obj, ...]) 向控制臺(tái)輸出一個(gè)信息,信息包含一個(gè)超鏈接鏈接到輸出位置。
info(obj[, obj, ...]) 向控制臺(tái)輸出一個(gè)帶信息圖標(biāo)和背景顏色的信息,信息包含一個(gè)超鏈接鏈接到輸出位置。
warn(obj[, obj, ...]) 向控制臺(tái)輸出一個(gè)帶警告圖標(biāo)和背景顏色的信息,信息包含一個(gè)超鏈接鏈接到輸出位置。
error(obj[, obj, ...]) 向控制臺(tái)輸出一個(gè)帶錯(cuò)誤圖標(biāo)和背景顏色的信息,信息包含一個(gè)超鏈接鏈接到輸出位置。
assert(expression[, obj, ...]) 測(cè)試一個(gè)表示是否為true,如果為false,提交一個(gè)例外信息到控制臺(tái)。
dir(obj) 列出對(duì)象的所有屬性。
dirxml(node) 列出HTML或XML Element的XML源樹。
trace() 輸出堆棧的調(diào)用入口。
group(obj[, obj, ...]) 將信息分組再輸出到控制臺(tái)。通過(guò)groupEnd()結(jié)束分組。
groupEnd() 結(jié)束分組輸出。
time(name) 創(chuàng)建一個(gè)名稱為name的計(jì)時(shí)器,計(jì)算代碼的執(zhí)行時(shí)間,調(diào)用timeEnd(name)停止計(jì)時(shí)器并輸出執(zhí)行時(shí)間。
timeEnd(name) 停止名稱為name的計(jì)時(shí)器并輸出執(zhí)行時(shí)間。
profile([title]) 開始對(duì)腳本進(jìn)行性能測(cè)試,title為測(cè)試標(biāo)題。
profileEnd() 結(jié)束性能測(cè)試。
count([title]) 計(jì)算代碼的執(zhí)行次數(shù)。titile作為輸出標(biāo)題。

firebug就自不多說(shuō)了,IE8也有console.log,不過(guò)這需要按下F12,進(jìn)入調(diào)試模式時(shí)才有效,不然報(bào)錯(cuò)。為了不報(bào)錯(cuò),平時(shí)我們應(yīng)該實(shí)現(xiàn)一個(gè)空對(duì)象來(lái)覆蓋它。
復(fù)制代碼 代碼如下:

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之后吧,多了一個(gè)叫Dragonfly的東東。顯然,它無(wú)法與firebug花樣繁多的日志輸出相比,它只提供了一個(gè)opera.postError方法。
復(fù)制代碼 代碼如下:

if (window.opera && opera.postError) {
opera.postError(message);
}

safari也有console.log,它是基于其Web Inspector組件,感覺與firefox差不多,但我不是水果黨,不知道其方法有沒有firebug那么多……對(duì)于瀏覽器新貴chrome,現(xiàn)在我們可以在其擴(kuò)展程序搜索安裝firebug的chrome版本。

相關(guān)文章

最新評(píng)論