console對象探究
作為一個前端,console.log()可能是你最常用的方法,打印打印再打印,但是其實console對象上有用的方法有很多,來,各位看官上眼
分類輸出
厭倦了 console.log 單調的輸出?歡迎嘗試 console 對象的分類輸出功能。console 對象提供了 info、warn、error 方法分別輸出提示、警告以及錯誤信息。
我們輸入下面這段代碼:
console.log(‘log‘); console.info(‘info‘); console.warn(‘warn‘); console.error(‘error‘);
結果如下圖所示:
斷言輸出
console 對象提供了類似於單元測試中的斷言的方法:assert。該方法接收兩個參數,第一個參數為斷言條件,第二個參數代表斷言信息。
同單元測試斷言一樣,當斷言條件為 true 時,assert 無輸出;只有當斷言條件為 false 時,assert 方法才會在控制臺中輸出一條斷言錯誤信息。
我們輸入以下代碼:
console.assert(true, ‘true‘); console.assert(false, ‘false‘);
控制臺如下所示:
分組輸出
當你的控制臺上輸出了大量信息時,控制臺會顯得極其雜亂,你甚至不知道某一條信息是哪條代碼輸出的。此時,console 對象的 group 以及 groupEnd 方法可以拯救你。
將部分 console 語句放入 group 與 groupEnd 之間,可以形成將這部分 console 語句劃定為一組信息進行輸出。其中,group 方法接收一個字符,作為分組名稱,groupEnd 方法不接收參數用於結束分組。
輸入以下代碼:
console.group(‘1‘); console.log(‘1-1‘); console.warn(‘1-2‘); console.error(‘1-3‘); console.groupEnd(); console.group(‘2‘); console.log(‘2-1‘); console.warn(‘2-2‘); console.error(‘2-3‘); console.groupEnd();
結果如圖所示:
表格輸出
我們不僅可以將控制臺信息分組輸出,我們還可以將其以表格的形式輸出。
console 的 table 方法可以將一個對象以表格的形式輸出,當輸入的參數不是對象時,此時,table 方法相當於 log 方法。
輸入以下代碼:
const obj = { a: { id: 1, value: 1 }, b: { id: 2, value: 2 } }; console.log(obj); console.table(obj);
控制臺如圖所示:
計次輸出
在日常開發中,有一個常見的調試需求——計算一段代碼的執行次數。一般來說,我們會在這段代碼中定義一個變量,每執行一次它就進行一次自增,並通過 console.log 方法輸出該變量。
可以看出,上述的方法略顯麻煩,可不可以一行代碼就解決這個問題呢?當然可以!count 方法,你值得擁有。
for(let i = 0; i < 5; i++){ console.count("num"); } console.count("num"); console.count("anotherNum");
計時輸出
當測試算法性能時,我們通常使用時間復雜度來評價算法的性能,但是,時間復雜度哪裏有代碼執行時間來的直觀呢?
在之前不了解 console 對象的時候,我們在算法的頭尾分別獲取時間戳,取時間戳的差值作為代碼執行時間。很明顯,這種方法太過繁瑣。
使用 console 對象的 time 以及 timeEnd 方法可以計算出代碼執行時間。
console.time(‘time‘); let sum = 0; for (let i = 0; i < 100000;i++) { sum += i; } console.timeEnd(‘time‘);
結果如下圖所示:
原文鏈接:https://www.yuque.com/fe9/basic/hn1uw6
傾力推薦一下,前端九部真的寫的很好,很細致
console對象探究