Console API
當打開 firebug (也包含 Chrome 等瀏覽器的自帶調試對象),window 下面會註冊一個叫做 console 的對象,它供給多種辦法向把握臺輸出信息,供開闢人員調試應用。下面是這些辦法的一個簡單介紹,當令地應用它們,對於進步開闢效力很有幫助。
console.log(object[, object, ...])
應用頻率最高的一條語句:向把握臺輸出一條消息。支撐 C 說話 printf 式的格局化輸出。當然,也可以不應用格局化輸出來達到同樣的目標:
var animal=""frog"", count=10; console.log("The %s jumped over %d tall buildings", animal, count); console.log("The", animal, "jumped over", count, "tall buildings");
console.debug(object[, object, ...])
向把握臺輸出一條信息,它包含一個指向該行代碼地位的超鏈接。
console.info(object[, object, ...])
向把握臺輸出一條信息,該信息包含一個默示“信息”的圖標,和指向該行代碼地位的超鏈接。
console.warn(object[, object, ...])
同 info。差別是圖標與樣式不合。
console.error(object[, object, ...])
同 info。差別是圖標與樣式不合。error 實際上和 throw new Error() 產生的結果雷同,應用該語句時會向瀏覽器拋出一個 js 異常。
console.assert(expression[, object, ...])
斷言,測試一條表達式是否爲真,不爲真時將拋出異常(斷言失敗)。
console.dir(object)
輸出一個對象的全屬下性(輸出成果類似於 DOM 面板中的樣式)。
console.dirxml(node)
輸出一個 HTML 或者 XML 元素的佈局樹,點擊佈局樹上方的節點進入到 HTML 面板。
console.trace()
輸出 Javascript 履行時的客棧追蹤。
console.group(object[, object, ...])
輸出消息的同時打開一個嵌套塊,用以縮進輸出的內容。調用 console.groupEnd() 用以停止這個塊的輸出。
console.groupCollapsed()
同 console.group(); 差別在於嵌套塊默認是收起的。
console.time(name)
計時器,當調用 console.timeEnd(name);並傳遞雷同的 name 爲參數時,計時停止,並輸出履行兩條語句之間代碼所消費的時候(毫秒)。
console.profile([title])
與 profileEnd() 連絡應用,用來做機能測試,與 console 面板上 profile 按鈕的功能完全雷同。
console.count([title])
輸出該行代碼被履行的次數,參數 title 將在輸出時作爲輸出成果的前綴應用。
console.clear()
清空把握臺
把握臺的輸出面板右邊,是把握臺的輸入面板(Chrome 調試對象對應爲下方),在這裏除了可以運行常規的 javascript 代碼,還內置了相當數量的號令行可以幫助我們的調試工作,下面是一些常用號令行的簡單介紹。
¥(id)
返回一個給定 id 的元素。
¥¥(or)
返回給定的 css 選擇器匹配到的一組元素。
¥x(xpath)
返回給定的 XPath 表達式匹配到的一組元素。
¥0
在 HTML 面板中選中的元素。
¥1
上一次在 HTML 面板中選中的元素。
¥n(index)
接見比來 5 個被選中過的元素,index 的侷限: 0 – 4。
dir(object)
同 console.dir(object)。
dirxml(node)
同 console.dirxml(node)。
clear()
同 console.clear()。
inspect(object[, tabName])()
在合適的(或一個指定的) tab 中檢視一個對象。
keys(object)
返回一個對象的所有屬性的鍵。
values(object)
返回一個對象的所有屬性的值。
debug(fn)
在函數第一行添加一個斷點,應用 undebug(fn) 移除斷點。
monitor(fn)
開啓一個函數的調用日記,應用 unmonitor(fn) 封閉該功能。很是有效的一個號令,然則它似乎並沒有很好地工作。
monitorEvents(object[, types])
開啓一個元素的某個事務(或所有事務)被觸發時的日記記錄。用例如下:
monitorEvents(¥0,[""click""])
上方的號令行被履行後,將開啓當前在 HTML 面板中被選中元素的 click 事務監控,一旦這個元素的 click 事務被觸發,事務對象將會在把握臺輸出。若是不指定第二個參數,將對所有事務進行記錄。
profile([title])
同 console.profile([title])