console是在寫(xiě)前端Javascript時(shí)經(jīng)常會(huì)使用到,我平時(shí)使用最多的是console.log,相比大多數(shù)人也是如此吧!
下面一起來(lái)看一下強(qiáng)大的console吧!
01函數(shù)(屬性)
包含如下函數(shù) / 屬性:memory、assert、clear、count、debug、dir、dirxml、error、exception、group、groupCollapsed、groupEnd、info、log、markTimeline、profile、profileEnd、table、time、timeEnd、timeStamp、timeline、timelineEnd、trace、warn。總計(jì)含有24個(gè)函數(shù) / 屬性。
02演示和說(shuō)明
下面我們依次來(lái)演示和說(shuō)明一下;
一、console.memory
注意:這是一個(gè)屬性,并不是是函數(shù),此屬性是用來(lái)查看內(nèi)存使用情況,如果我們使用過(guò)多的console.log()會(huì)占用大量的內(nèi)存,導(dǎo)致瀏覽器出現(xiàn)卡死情況。
我們打開(kāi)瀏覽器進(jìn)入調(diào)試模式,在console一欄下輸入:console.memory,執(zhí)行回車。
二、console.assert
使用示例:
console.assert(false,'這是一行文字')
此函數(shù)是在第一個(gè)參數(shù)為假的時(shí)候會(huì)在控制臺(tái)輸出信息。
三、console.clear
清空控制臺(tái)輸出信息,此方法可以在程序最好執(zhí)行,將console出的信息進(jìn)行清除,進(jìn)一步的增加程序的安全性。使用方式如下:
console.clear()
四、console.count
此函數(shù)為統(tǒng)計(jì)打印次數(shù),使用示例如下:
for (var i = 0; i < 10; i++) {console.count("當(dāng)前輸出")}
五、console.debug
此函數(shù)作用與console.log作用相同,均為調(diào)試輸出,目前谷歌瀏覽器和opera不支持console.debug(),在控制臺(tái)中看不到效果。我們?cè)贗E瀏覽器中看一下效果。
console.debug("這是一行文字")
六、console.dir
console.dir(dom)
此函數(shù)作用與console.log作用效果相同,但是在我們打開(kāi)節(jié)點(diǎn)時(shí),兩者之間變現(xiàn)的存在差異。在觀察節(jié)點(diǎn)時(shí)dir的效果要明顯的好于log。
七、console.dirxml
如果是一個(gè)html節(jié)點(diǎn)那么打印出來(lái)是dom節(jié)點(diǎn),其他的打印同dir。
console.dirxml(dom)
八、console.error
錯(cuò)誤輸出,顯示紅色
console.error("這是一行文字")
九、console.exception ()
exception 在部分瀏覽器瀏覽器中是console.error 的別名,谷歌最新瀏覽器已經(jīng)廢棄。
十、console.group()
大多數(shù) console 中要輸出高級(jí)和復(fù)雜的東西。分組可以讓你歸納這些。尤其是讓你能使用嵌套。它擅長(zhǎng)展示代碼中存在的結(jié)構(gòu)關(guān)系。
console.group('Loop');
十一、console.groupCollapsed()
功能上和 console.group 一樣,但是分組塊一開(kāi)始是折疊的。它沒(méi)有得到很好的支持,但是如果你有一個(gè)無(wú)意義的龐大的分組并想默認(rèn)隱藏它,可以試試這個(gè)函數(shù)。
十二、console.groupEnd()
主要是和console.group()、console.groupCollapsed()相關(guān)結(jié)合使用。
十三、console.info()
與console.log()相同
十四、console.log()
用于在控制臺(tái)輸出信息,在調(diào)試中非常實(shí)用。
十五、console.markTimeline()
console.markTimeline() 方法是 console.timeStamp()的廢棄形式。
十六、console.profile()
檢測(cè)性能,找出性能瓶頸,效果比console.time()更好
十七、console.profileEnd()
配合console.profile()使用
十八、console.table()
以列表形式展示數(shù)據(jù),這比只扔下原始的對(duì)象數(shù)組要更加整潔、看起來(lái)更改直觀。
十九、console.time()
專門用于監(jiān)測(cè)操作的時(shí)間開(kāi)銷的函數(shù),也是監(jiān)測(cè) JavaScript 細(xì)微時(shí)間的更好的方式。
console.time();
二十、console.timeEnd()
配合console.time()使用
二十一、console.timeStamp()
該特性是非標(biāo)準(zhǔn)的,請(qǐng)盡量不要在生產(chǎn)環(huán)境中使用它!你可以選擇用一個(gè)參數(shù)來(lái)作為時(shí)間戳標(biāo)簽,然后標(biāo)記旁邊就會(huì)顯示這個(gè)標(biāo)簽。
二十二、console.timeline()
斷點(diǎn)調(diào)試使用,此方法是 console.time() 的棄用形式。
二十三、console.timelineEnd()
配合console.timeline()使用
二十四、console.trace()
調(diào)試和查找問(wèn)題使用,是非常高效的函數(shù),效果比console.log()好很多,使用我們只能知道執(zhí)行了哪一個(gè)基礎(chǔ)庫(kù),并不知道執(zhí)行的具體位置,而此方法顯示一個(gè)跟蹤,該跟蹤顯示了代碼如何在特定點(diǎn)結(jié)束。
console.trace();
二十五、console.warn
以警告的形式輸出信息,當(dāng)出現(xiàn)大量的調(diào)試信息時(shí),可以使用warn形式突出特定點(diǎn)位,便于排查錯(cuò)誤位置,warn以黃色背景,并在輸出文件前加嘆號(hào)。在諸多信息中非常明顯。
至此,已經(jīng)將console的函數(shù)或方法做了簡(jiǎn)單的介紹和說(shuō)明,部分的函數(shù)演示并未配圖,如果錯(cuò)誤歡迎指出、虛心受教。