天天看點

Chrome 開發工具之Console

前段時間看git的相關,記的筆記也大緻寫到了部落格上,還有些因為運用不熟,或者還有一些疑惑點,暫時也不做過多糾纏,之後在實踐中多運用得出結論再整理分享吧。

工欲善其事,必先利其器。要想做好前端的工作,也應該多了解浏覽器開發工具的使用,近來幾天在看html和css的一些技巧性知識,順便也把chrome一些懂的地方再熟悉和不懂的地方去學習,把開發工具了解了解,也分享給小夥伴們,今天暫時是console相關的吧(偷個小懶,從用的最熟的面闆入手,之後計劃整理出chrome開發工具各個面闆的使用說明~也需要時間測測,還有兩個面闆用的不熟呢)。

console.assert(expression,object)

當expression表達式的結果為true的時候,控制台無顯示;當滿足expression表達式滿足false條件的時候,該消息以及堆棧跟蹤被寫入控制台。

console.clear()

清除控制台資訊,如果setting(設定)中"Preserve Logs"(保持日志)是打開狀态時,console.clear()失效。

console.count(label)

列印出這個方法被執行的次數。在調試js執行的時候挺有幫助,可以結合console.time(label)/console.timeEnd(label)結合,看某函數執行的次數及每次執行所耗的時間。

console.dir(object)

将指定對象用javascript封裝并列印,如果指定的對象是一個HTML元素,則列出DOM屬性。

對于這個方法,比如我們需要看某個DOM的屬性的時候,document.getElementById('someid')列印出來的應該是個<div id="someid">...</div>,這就比較尴尬了,列印的是個html元素,然後使用console.dir(document.getElementById('someid'))列印後,便能夠看到整個DOM對象及屬性了。

console.group(object[,object,...])

根據可選的标題産生一個新的日志清單,之後直至console.groupEnd()之前的控制台輸出資訊都會列在這個日志組中,如果沒使用console.groupEnd()進行閉合,則之後的輸出将都包括在這個日志組中。

日志組可嵌套輸出:

console.groupCollapsed(object[, object, ...])

和console.group(object[,object,...])使用方式相同,不同的是console.group(object[,object,...])列印的日志組的狀态是打開的,而console.groupCollapsed(object[, object, ...])列印的是閉合的日志組。

console.log(object [, object, ...])

在控制台列印資訊。你可以在這個方法中傳入一個或多個對象,每個對象會通過計算後加入一串使用空格分隔的字元串。傳入的第一個參數可能會包含格式說明符号,該說明符号由一個百分号(%)後加一個代表需要被替換内容的字母。

開發工具支援以下說明符号:

%s

字元串

%d or %i

整數

%f

浮點數

%o

可擴充DOM元素(在element面闆一樣)

%O

可擴充javascript元素

%c

根據提供的css樣式輸出字元串

console.error(object [, object, ...])

以報錯的格式列印資訊,并且在調用列出産生堆棧跟蹤。

console.info(object [, object, ...])

以資訊的格式列印資訊。

console.warn(object [, object, ...])

以警告的格式列印資訊。

console.profile([label])

标出cpu使用的開始(start)和結束(finish)的點,對應結束辨別是console.porfileEnd(),可以通過這兩個方法看函數造成cpu消耗資訊,chrome開發工具的Profile面闆也是處理CPU資訊的功能,并且執行這個方法之後,在Profile面闆也會出現一塊内容,對應的正是代碼所執行的那塊資訊内容。

console.time(label)

開始一個新的帶有标簽的計時器。在之後的代碼中調用console.timeEnd(label)時,停止計時并且将所耗時間間列印在控制台。注意:timeEnd的label需要和time的label對應上才算閉合這個計時。

在測試這個的時候深深嫌棄下我的電腦,老電腦了...上次測這串代碼甚至是0.711ms,而在公司的電腦才0.046ms...

console.trace()

顯示目前所執行到的代碼處的堆棧跟蹤資訊。

console.table(array[object])

将數組資料(數組元素為對象)以table布局展示。

Chrome 開發工具之Console

chrome自帶有html元素選擇器,和衆人所熟悉的jquery的選擇器使用規則相似

$()

傳回符合css選擇器條件的第一個元素,是document.queryselector()的簡寫。

$$()

傳回符合css選擇器條件的所有元素組成的數組,是document.querySelectorAll()的封裝。

$_

傳回最近一次計算得出的值,預設undefined。

$0-$4

傳回最近5次選中的元素。

$0   最近的第一次

$1   最近的第二次

$2   最近的第三次

$3   最近的第四次

$4   最近的第五次

inspect()

inspect()函數需要傳入一個DOM元素或者javascript引用,如果傳入的是DOM元素,開發者工具會跳到Elements面闆,并且展示對應的元素;如果傳入的是javascript引用,開發者工具跳到Profile面闆或者控制台顯示堆棧資訊。

Chrome 開發工具之Console

就這些吧,這裡省略了console.dirxml(object)和console.timeStamp([label])。

歡迎小夥伴交流讨論,有更多玩法也多分享哦~

繼續閱讀