如何使用JS console.log()技巧提高工作效率
我們知道 console.log(message)用法很簡單,表示將參數(shù)message 打印到控制臺上。
console.log('前端小智')
// 前端小智const myAge = 28
console.log(myAge) // 28
本文主要介紹5個有用的技巧,可幫助你在使用console.log()時提高工作效率。
1. 打印全名變量
如果在控制臺打印多個變量,是數(shù)量比較多的情況下,我們很難區(qū)別哪個變量對應(yīng)哪個值。
function sum(a, b) {
console.log(b);
return a + b;
}sum(1, 2);
sum(4, 5);
執(zhí)行上述代碼后,我們只會看到一系列數(shù)字
要表示值和變量之間關(guān)系,可以用花括號把變量包起來::
2.高級格式化
將某些東西打印到控制臺最常見方法是簡單地使用一個參數(shù)調(diào)用console.log():
console.log('前端小智') // 前端小智
有時我們可能想要一條包含多個變量的信息。 幸運的是,console.log()可以使用%s,%i等說明符以sprintf()的方式格式化字符串。
const user = '前端小智';
const attempts = 5;console.log('%s 登錄失敗了 %i 次', user, attempts);
// 前端小智 登錄失敗了 5 次
%s和%i被user和attempts的值替換。 說明符%s轉(zhuǎn)換為字符串,而%i轉(zhuǎn)換為數(shù)字。
以下是可用說明符的列表:
說明符 | 作用 |
---|---|
%s | 元素轉(zhuǎn)換為字符串 |
%d 或 %i | 元素轉(zhuǎn)換為整數(shù) |
%f | 元素轉(zhuǎn)換為浮點數(shù) |
%o | 元素以最有效的格式顯示 |
%O | 元素以最有效的格式顯示 |
%c | 應(yīng)用提供的css |
3.具有樣式的打印風(fēng)格
瀏覽器控制臺允許我們將樣式應(yīng)用于打印的消息,我們可以通過將%c說明符與相應(yīng)的css樣式一起使用來實現(xiàn),如下所示:
console.log('%c Big message', 'font-size: 36px; font-weight: bold');
說明符%c應(yīng)用CSS樣式'font-size: 36px; font-weight: bold'
4. 交互展示
日志樣式化依賴于主機的控制臺實現(xiàn)。像Chrome和Firefox這樣的瀏覽器提供對象和數(shù)組的交互展示,而 Node 控制臺輸出為文本。
來看看Chrome如何打印普通對象,數(shù)組和DOM樹,可以通過展開和折疊與這些元素進行交互。
4.1 Objects
const myObject = { name: 'John Smith', profession: 'agent' }; console.log(myObject);
可以展開和折疊對象屬性列表,也可以看到對象的原型。
4.2 Arrays
const characters = ['Neo', 'Morpheus', 'John Smith'];
console.log(characters);
4.3 DOM 樹結(jié)構(gòu)
我們可以直接與控制臺中顯示的DOM元素進行交互。
console.log(document.getElementById('root'));
在Chrome控制臺中,可以擴展DOM元素
4.4 交互式嵌套里的消息
%o說明符(為值關(guān)聯(lián)了正確的打印格式)可以在文本消息中插入數(shù)組,對象,DOM元素和常規(guī)文本,而不會失去交互性。
const myObject = { name: 'John Smith', profession: 'agent' }; console.log('Neo, be aware of %o', myObject);
從控制臺看,myObject數(shù)組不會轉(zhuǎn)換為字符串,而是保持交互性。
5.在 Node 控制臺中打印大對象
Node中的log以純文本形式輸出。 但是,Node 中的console.log()不會顯示具有深層嵌套的對象:第3級的對象顯示為[Object]。
const myObject = { propA: { propB: { propC: { propD: 'hello' } } } }; console.log(myObject);
運行腳本時,propC的對象打印為[Object]:
要查看完整的對象結(jié)構(gòu),可以使用jsON.stringify():
const myObject = { propA: { propB: { propC: { propD: 'hello' } } } }; console.log(jsON.stringify(myObject, null, 2));
JSON.stringify(myObject, null, 2)返回該對象的JSON表示形式,第三個參數(shù)2在空格中設(shè)置縮進大小。
希望這5個技巧可以使你使用 console.log() 體驗更加高效。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
父頁面iframe中的第三方子頁面跨域交互技術(shù)—postMessage實現(xiàn)方法
web網(wǎng)站通過iframe嵌入第三方web頁面,父頁面和子頁面如果需要數(shù)據(jù)交互,顯然違反了同源策略,在HTML5標(biāo)準(zhǔn)引入的window對象下的postMessage方法,可以允許來自不同源的JavaScript腳本采用異步方式進行有限的通信,可以實現(xiàn)跨文本檔、多窗口、跨域消息傳遞...2023-06-06前端JavaScript實現(xiàn)大數(shù)據(jù)前后模糊搜索的方法詳解
這篇文章主要為大家詳細(xì)介紹了前端JavaScript實現(xiàn)大數(shù)據(jù)前后模糊搜索的四個常見方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2023-12-12JavaScript實現(xiàn)外溢動態(tài)愛心的效果的示例代碼
這篇文章主要為大家介紹了如何利用JavaScript制作出簡單的外溢動態(tài)愛心的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起動手試一試2022-03-03Express實現(xiàn)前端后端通信上傳圖片之存儲數(shù)據(jù)庫(mysql)傻瓜式教程(二)
這篇文章主要介紹了Express實現(xiàn)前端后端通信上傳圖片之存儲數(shù)據(jù)庫(mysql)傻瓜教程(二)的相關(guān)資料,需要的朋友可以參考下2015-12-12JavaScript高級程序設(shè)計閱讀筆記(五) ECMAScript中的運算符(一)
ECMAScript中的運算符,學(xué)習(xí)js的朋友可以看看2012-02-02