console.log 用法(調(diào)試用)

console.log 用法(調(diào)試用)

大家都有用過各種類型的瀏覽器昂利,每種瀏覽器都有自己的特色信姓,本人拙見蟋定,在我用過的瀏覽器當中,我是最喜歡Chrome的鹃两,因為它對于調(diào)試腳本及前端設(shè)計調(diào)試都有它比其它瀏覽器有過之而無不及的地方遗座。可能大家對console.log會有一定的了解俊扳,心里難免會想調(diào)試的時候用alert不就行了途蒋,干嘛還要用console.log這么一長串的字符串來替代alert輸出信息呢,下面我就介紹一些調(diào)試的入門技巧拣度,讓你愛上console.log

先的簡單介紹一下chrome的控制臺碎绎,打開chrome瀏覽器,按f12就可以輕松的打開控制臺

大家可以看到控制臺里面有一首詩還有其它信息抗果,如果想清空控制臺筋帖,可以點擊左上角那個

來清空,當然也可以通過在控制臺輸入console.clear()來實現(xiàn)清空控制臺信息冤馏。如下圖所示

現(xiàn)在假設(shè)一個場景日麸,如果一個數(shù)組里面有成百上千的元素,但是你想知道每個元素具體的值逮光,這時候想想如果你用alert那將是多慘的一件事情代箭,因為alert阻斷線程運行,你不點擊alert框的確定按鈕下一個alert就不會出現(xiàn)涕刚。

下面我們用console.log來替換嗡综,感受一下它的魅力。

看了上面這張圖杜漠,是不是認識到log的強大之處了极景,下面我們來看看console里面具體提供了哪些方法可以供我們平時調(diào)試時使用。

目前控制臺方法和屬性有:

["$$", "$x", "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear", "getEventListeners", "undebug", "monitor", "unmonitor", "table", "$0", "$1", "$2", "$3", "$4", "$_"]

下面我們來一一介紹一下各個方法主要的用途驾茴。

一般情況下我們用來輸入信息的方法主要是用到如下四個

1盼樟、console.log用于輸出普通信息

2、console.info?用于輸出提示性信息

3锈至、console.error用于輸出錯誤信息

4晨缴、console.warn用于輸出警示信息

5、console.debug用于輸出調(diào)試信息

用圖來說話

console對象的上面5種方法峡捡,都可以使用printf風格的占位符击碗。不過筑悴,占位符的種類比較少,只支持字符(%s)延都、整數(shù)(%d或%i)雷猪、浮點數(shù)(%f)和對象(%o)四種

console.log("%d年%d月%d日",2011,3,26);console.log("圓周率是%f",3.1415926);

%o占位符晰房,可以用來查看一個對象內(nèi)部情況

var dog = {};dog.name =?"大毛";dog.color =?"黃色";console.log("%o", dog);

6、console.dirxml用來顯示網(wǎng)頁的某個節(jié)點(node)所包含的html/xml代碼

???A?A?A???bbb?aaa?ccc??111?333?222???window.onload =?function?() {?var mytable =?document.getElementById(‘mytable‘);?console.dirxml(mytable); }

7射沟、console.group輸出一組信息的開頭

8殊者、console.groupEnd結(jié)束一組輸出信息

看你需求選擇不同的輸出方法來使用,如果上述四個方法再配合group和groupEnd方法來一起使用就可以輸入各種各樣的不同形式的輸出信息验夯。

哈哈猖吴,是不是覺得很神奇呀!

9挥转、console.assert對輸入的表達式進行斷言海蔽,只有表達式為false時,才輸出相應的信息到控制臺

10绑谣、console.count(這個方法非常實用哦)當你想統(tǒng)計代碼被執(zhí)行的次數(shù)

11党窜、console.dir(這個方法是我經(jīng)常使用的 可不知道比for in方便了多少)直接將該DOM結(jié)點以DOM樹的結(jié)構(gòu)進行輸出,可以詳細查對象的方法發(fā)展等等

12借宵、console.time?計時開始

13幌衣、console.timeEnd計時結(jié)束(看了下面的圖你瞬間就感受到它的厲害了)

14、console.profileconsole.profileEnd配合一起使用來查看CPU使用相關(guān)信息

在Profiles面板里面查看就可以看到cpu相關(guān)使用信息

15壤玫、console.timeLineconsole.timeLineEnd配合一起記錄一段時間軸

16豁护、console.trace堆棧跟蹤相關(guān)的調(diào)試

上述方法只是我個人理解罷了。如果想查看具體API欲间,可以上官方看看楚里,具體地址為:https://developer.chrome.com/devtools/docs/console-api

控制臺的一些快捷鍵

1、方向鍵盤的上下鍵猎贴,大家一用就知曉班缎。比如用上鍵就相當于使用上次在控制臺的輸入符號

2、$_命令返回最近一次表達式執(zhí)行的結(jié)果嘱能,功能跟按向上的方向鍵再回車是一樣的

上面的$_需要領(lǐng)悟其奧義才能使用得當吝梅,而$0~$4則代表了最近5個你選擇過的DOM節(jié)點。

什么意思惹骂?在頁面右擊選擇審查元素苏携,然后在彈出來的DOM結(jié)點樹上面隨便點選,這些被點過的節(jié)點會被記錄下來对粪,而$0會返回最近一次點選的DOM結(jié)點右冻,以此類推装蓬,$1返回的是上上次點選的DOM節(jié)點,最多保存了5個纱扭,如果不夠5個牍帚,則返回undefined。

3乳蛾、Chrome 控制臺中原生支持類jQuery的選擇器暗赶,也就是說你可以用$加上熟悉的css選擇器來選擇DOM節(jié)點

4、copy通過此命令可以將在控制臺獲取到的內(nèi)容復制到剪貼板

(哈哈 剛剛從控制臺復制的body里面的html可以任意粘貼到哪, 比如記事本, 是不是覺得功能很強大)

5肃叶、keys和values前者返回傳入對象所有屬性名組成的數(shù)據(jù)蹂随,后者返回所有屬性值組成的數(shù)組

說到這,不免想起console.table方法了

6因惭、monitor & unmonitor

monitor(function)岳锁,它接收一個函數(shù)名作為參數(shù),比如function a,每次a被執(zhí)行了蹦魔,都會在控制臺輸出一條信息激率,里面包含了函數(shù)的名稱a及執(zhí)行時所傳入的參數(shù)。

而unmonitor(function)便是用來停止這一監(jiān)聽勿决。

看了這張圖乒躺,應該明白了,也就是說在monitor和unmonitor中間的代碼剥险,執(zhí)行的時候會在控制臺輸出一條信息聪蘸,里面包含了函數(shù)的名稱a及執(zhí)行時所傳入的參數(shù)。當解除監(jiān)視(也就是執(zhí)行unmonitor時)就不再在控制臺輸出信息了表制。

$ // 簡單理解就是 document.querySelector 而已健爬。

$$ // 簡單理解就是 document.querySelectorAll 而已。

$_ // 是上一個表達式的值

$0-$4 // 是最近5個Elements面板選中的DOM元素么介,待會會講娜遵。

dir // 其實就是 console.dir

keys // 取對象的鍵名, 返回鍵名組成的數(shù)組

values // 去對象的值, 返回值組成的數(shù)組

下面看一下console.log的一些技巧

1、重寫console.log 改變輸出文字的樣式

2壤短、利用控制臺輸出圖片

3设拟、指定輸出文字的樣式

最后說一下chrome控制臺一個簡單的操作,如何查看頁面元素久脯,看下圖就知道了

你在控制臺簡單操作一遍就知道了纳胧,是不是覺得很簡單!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末帘撰,一起剝皮案震驚了整個濱河市跑慕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖核行,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牢硅,死亡現(xiàn)場離奇詭異,居然都是意外死亡芝雪,警方通過查閱死者的電腦和手機减余,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惩系,“玉大人位岔,你說我怎么就攤上這事∏欤” “怎么了赃承?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長悴侵。 經(jīng)常有香客問我,道長拭嫁,這世上最難降的妖魔是什么可免? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮做粤,結(jié)果婚禮上浇借,老公的妹妹穿的比我還像新娘。我一直安慰自己怕品,他們只是感情好妇垢,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肉康,像睡著了一般闯估。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吼和,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天涨薪,我揣著相機與錄音,去河邊找鬼炫乓。 笑死刚夺,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的末捣。 我是一名探鬼主播侠姑,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼箩做!你這毒婦竟也來了莽红?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤卒茬,失蹤者是張志新(化名)和其女友劉穎船老,沒想到半個月后咖熟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡柳畔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年馍管,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片薪韩。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡确沸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出俘陷,到底是詐尸還是另有隱情罗捎,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布拉盾,位于F島的核電站桨菜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捉偏。R本人自食惡果不足惜倒得,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望夭禽。 院中可真熱鬧霞掺,春花似錦、人聲如沸讹躯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽潮梯。三九已至骗灶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酷麦,已是汗流浹背矿卑。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沃饶,地道東北人母廷。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像糊肤,于是被迫代替她去往敵國和親琴昆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容