開發(fā)調(diào)試好幫手——console用法深入探究

說到j(luò)avascript的調(diào)試,小伙伴們想到的第一個(gè)方法肯定是使用 console.log() 在控制臺打印出調(diào)試信息和日志

console對象幾乎已經(jīng)深入了每一個(gè)前端小伙伴的職業(yè)生涯伊佃,可能你只用過 console.log() 铸题,或者也用過 console.info() 土浸、console.warn() 和 console.error()

在你成千上萬次使用 console.log() 方法時(shí)答姥,有沒有深入了解過console這個(gè)對象的其他方法呢?

沒有粘勒?那就繼續(xù)往下看吧

console對象到底有多少方法揭糕?

在你的瀏覽器里調(diào)出控制臺萝快,輸入 console 按下回車,你就會發(fā)現(xiàn)著角,原來 console 對象并不只有 log/info/warn/error 這三個(gè)方法揪漩,它的方法眾多,而這些方法能夠使我們的調(diào)試之路走得更為順暢

console.png

下面就來說幾個(gè)console對象里我們不常用的開發(fā)調(diào)試好幫手

assert()

console 斷言方法雇寇,該方法接受的第一個(gè)參數(shù)為布爾值表達(dá)式氢拥,之后的參數(shù)為打印的內(nèi)容

當(dāng)表達(dá)式為真時(shí),assert 不會打印任何內(nèi)容锨侯,當(dāng)為假時(shí)則會將之后的參數(shù)依次打印

var a = 1;
console.assert(a>1, 'console斷言方法','a小于1')
//Assertion failed: console斷言方法 a小于1

clear()

清空控制臺方法嫩海,不接受任何參數(shù)

count()

打印該方法已經(jīng)調(diào)用的次數(shù),可傳入一個(gè)參數(shù)作為標(biāo)識符 (label) 囚痴,傳入標(biāo)識符的情況下將打印被標(biāo)記為該標(biāo)識符的 count() 調(diào)用次數(shù)

console.count(); // : 1
console.count(); // : 2
console.count('label1'); // label1: 1
console.count('label1'); // label1: 2
console.count('label1'); // label1: 3
console.count('label2'); // label2: 1
console.count('label2'); // label2: 2
console.count('label2'); // label2: 3
console.count('label2'); // label2: 4

group()

打印分組方法叁怪,傳入一個(gè)參數(shù)為組名

當(dāng)我們使用很多的 log 方法來打印信息時(shí),控制臺上將會同時(shí)顯示很多的打印內(nèi)容深滚,這樣不利于我們來區(qū)分哪個(gè)或那幾個(gè)輸出是同一類的奕谭,雖然可以再內(nèi)一個(gè)輸出前做上打印內(nèi)容的提示,但是內(nèi)容過多時(shí)非常不利于瀏覽

于是 group() 方法橫空而降痴荐,通過它可以將打印內(nèi)容進(jìn)行分組血柳,同時(shí)傳入的組名也能夠在控制臺上打印出來,更便于我們的調(diào)試

需要注意的是生兆,group() 總是和 groupEnd() 方法一起使用难捌,只有處于這兩個(gè)方法之間的打印內(nèi)容才會被標(biāo)記為同一組

console.group('group1');
console.log('group1 log');
console.warn('group1 warn');
console.error('group1 error');
console.groupEnd();

console.group('group2');
console.log('group2 log');
console.warn('group2 warn');
console.error('group2 error');
console.groupEnd();

打印內(nèi)容如下圖:

console.group.png

time()

統(tǒng)計(jì)并打印一段代碼的執(zhí)行時(shí)間,傳入一個(gè)參數(shù)為標(biāo)識符 (label)

與 group 方法類似鸦难,需要與 timeEnd 方法連用根吁,但是 timeEnd 方法需要傳入配對的 time 方法相同的標(biāo)識符

該方法將會統(tǒng)計(jì)位于它們中間的一段代碼的執(zhí)行時(shí)間并打印

console.time('loop');
for (var i = 0; i < 100000; i ++) {}
console.timeEnd('loop'); // loop: 2.265ms

tabel()

將一個(gè)數(shù)組/對象以表格的形式打印出來,傳入的參數(shù)為數(shù)組/對象

在控制臺使用 log 方法打印過對象的小伙伴應(yīng)該知道合蔽,如果被打印對象屬性少的還好击敌,如果屬性多的同時(shí)又嵌套了很多其他對象作為屬性,那打印出來的效果簡直就像…吃了shit一樣惡心拴事。但是使用 tabel 方法來打印就好看多了沃斤,整齊劃一的表格簡直就是賞心悅目

var arr = [
    {name: 'xiaoming', age: 17},
    {name: 'xiaohong', age: 18},
    {name: 'xiaogang', age: 19}
];
console.table(arr);

打印效果如下圖:

console.table.png

以上列出的console對象方法是大多數(shù)主流瀏覽器都能夠?qū)崿F(xiàn)的方法圣蝎,其他一些方法例如 dir/diexml/profile/trace 等,可能只在部分瀏覽器中能夠給我們的開發(fā)效率和體驗(yàn)帶來提升轰枝,如果小伙伴們對這些方法感興趣的話捅彻,可以自己去親自實(shí)踐一下,發(fā)現(xiàn)它們的用處哦鞍陨!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市从隆,隨后出現(xiàn)的幾起案子诚撵,更是在濱河造成了極大的恐慌,老刑警劉巖键闺,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寿烟,死亡現(xiàn)場離奇詭異,居然都是意外死亡辛燥,警方通過查閱死者的電腦和手機(jī)筛武,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挎塌,“玉大人徘六,你說我怎么就攤上這事×穸迹” “怎么了待锈?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嘴高。 經(jīng)常有香客問我竿音,道長,這世上最難降的妖魔是什么拴驮? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任春瞬,我火速辦了婚禮,結(jié)果婚禮上套啤,老公的妹妹穿的比我還像新娘宽气。我一直安慰自己,他們只是感情好纲岭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布抹竹。 她就那樣靜靜地躺著,像睡著了一般止潮。 火紅的嫁衣襯著肌膚如雪窃判。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天喇闸,我揣著相機(jī)與錄音袄琳,去河邊找鬼询件。 笑死,一個(gè)胖子當(dāng)著我的面吹牛唆樊,可吹牛的內(nèi)容都是我干的宛琅。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼逗旁,長吁一口氣:“原來是場噩夢啊……” “哼嘿辟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起片效,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤红伦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后淀衣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昙读,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年膨桥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛮浑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡只嚣,死狀恐怖沮稚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情介牙,我是刑警寧澤壮虫,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站环础,受9級特大地震影響囚似,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜线得,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一饶唤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贯钩,春花似錦募狂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至勺三,卻和暖如春雷滚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吗坚。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工祈远, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留呆万,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓车份,卻偏偏與公主長得像谋减,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子扫沼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理出爹,服務(wù)發(fā)現(xiàn),斷路器缎除,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • 參考基礎(chǔ)教程的整理以政,方便記憶 一、Object對象 (O大寫) 所有其他對象都繼承自這個(gè)對象伴找。Object本身也是...
    Viaphlyn閱讀 2,316評論 0 0
  • 《裕語言》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 26,268評論 5 19
  • 學(xué)琴初期殊轴,許多學(xué)生會發(fā)現(xiàn)指法對于認(rèn)譜來說衰倦,簡直是“天降神器”。 由于初期啟蒙曲目基本上是一個(gè)指法對應(yīng)一個(gè)鍵盤旁理,很多...
    YachinLau閱讀 1,405評論 0 4
  • 以為畢業(yè)典禮就是例行公事的各種講話孽文,但是當(dāng)?shù)涠Y突然開場驻襟,歌者唱著《明天,你好》進(jìn)場時(shí)芋哭,才終于意識到沉衣,沒有這些,又怎...
    煢煢踽踽閱讀 352評論 0 0