噓窗宦,這里可能有你不知道的console小技巧

程序員的日常應(yīng)該是不斷的制造Bug與修復(fù)Bug了,而修復(fù)Bug的速度往往象征著你經(jīng)驗(yàn)的高低咏闪。身為前端工程師的你console應(yīng)該是最常用到的調(diào)試工具了曙搬。殊不知,console居然還有很多你未曾體驗(yàn)過的好方法鸽嫂,本文將帶你一探究竟纵装。

console是window對象的屬性之一,你可以通過通過console輸出有助于調(diào)試代碼的字符串据某、數(shù)組以及對象橡娄,然后通過瀏覽器控制臺(tái)(chrome->單擊右鍵->檢查->console)查看。

1癣籽、輸出的四種方式

// 用于輸出普通信息
console.log("normal:你我皆凡人挽唉,生在人世間");
// 用于輸出提示性信息(應(yīng)該會(huì)有個(gè)小圖標(biāo),不過谷歌不支持)
console.info("information:人生不如意十有八九才避,還有一二三四五六七特別不如意橱夭。");
// 用于輸出錯(cuò)誤信息
console.error("error:我就是傳說中的Bug");
// 用于輸出警示信息
console.warn("warn:沒有注釋留給你,難寫的代碼必定難讀");

打印結(jié)果:



以上四種方法雖然都可以打印桑逝,但給予你的視覺沖擊是不一樣的(info應(yīng)該會(huì)有一個(gè)小圖標(biāo)棘劣,不過谷歌不支持),這樣非常有助于你快速找到相應(yīng)的信息楞遏。
如果要清除打印信息你可以通過:

console.clear()

2茬暇、判斷

assert方法用于判斷。接受兩個(gè)參數(shù)寡喝,第一個(gè)參數(shù)是表達(dá)式糙俗,第二個(gè)參數(shù)是字符串。只有當(dāng)?shù)谝粋€(gè)參數(shù)為false预鬓,才會(huì)輸出第二個(gè)參數(shù)巧骚,否則不會(huì)有任何結(jié)果。

//無任何輸出
console.assert(1===1,"真");
//給予一個(gè)錯(cuò)誤提示“Assertion failed: 假”
console.assert(1!==1,"假");

3格二、統(tǒng)計(jì)

count方法用于計(jì)數(shù)劈彪,輸出它被調(diào)用了多少次。

(function() {
    for (var i = 0; i < 5; i++) {
        console.count('count');
    }
})();

結(jié)果:


4顶猜、分組打印

console.group("A組");
console.log("張三");
console.log("李四");
console.groupEnd();

console.group("B組");
console.log("王五");
console.log("趙六");
console.groupEnd();

// 默認(rèn)折疊
console.groupCollapsed("C組");
console.log("低調(diào)1");
console.log("低調(diào)2");
console.groupEnd();

效果:


5沧奴、打印對象

先來定義二個(gè)對象:

const box = {
    userName:"laoTie",
    age:18,
    sex:"女"
};
const desk = {
    userName:"laoWang",
    age:88,
    sex:"男"
};

如果現(xiàn)在要將這兩個(gè)對象全部打印出來,我們一般這樣:

console.log(box,desk);

運(yùn)行結(jié)果:



從結(jié)果來看长窄,我們并不知道打印出來的內(nèi)容具體來自于哪一個(gè)對象滔吠。如果我們換一種方式:

console.log({box,desk});

這樣我們就可以知道具體打印的是哪一個(gè)對象了:


6纲菌、CSS渲染

%c 占位符是console最常用的。使用 %c 占位符時(shí)疮绷,對應(yīng)的后面的參數(shù)必須是 CSS 語句翰舌,用來對輸出內(nèi)容進(jìn)行 CSS 渲染。

const str = "十行代碼九個(gè)警告八個(gè)錯(cuò)誤竟然敢說七日精通六天學(xué)會(huì)五湖四海也不見如此三心二意之項(xiàng)目經(jīng)理簡直一等下流矗愧。"
// 輸出帶樣式文字
console.log("%c "+str,"color: red; font-size: 30px;font-weight:bold");

結(jié)果:


image.png

7灶芝、將對象打印成表格

我們可以使用table方法來用表格方式打印對象:

const box = {
    userName:"laoTie",
    age:18,
    sex:"女"
};
const desk = {
    userName:"laoWang",
    age:88,
    sex:"男"
};
console.table({box,desk})

打印結(jié)果:


8、計(jì)時(shí)器

我們可以通過time方法打印代碼的耗時(shí)情況:

// 計(jì)時(shí)開始
console.time('計(jì)時(shí)器');
let i = 0;
while (i < 9999999){
    i++;
}
// 計(jì)時(shí)結(jié)束
console.timeEnd('計(jì)時(shí)器');

打印結(jié)果:


image.png

9唉韭、追蹤函數(shù)調(diào)用過程

通過trace可以追蹤到我們的方法被調(diào)用的情況:

function one(a) {
    console.trace();
    return a;
}
function two(a) {
    return three(a);
}
function three(a) {
    return one(a);
}
var a = two(666);

打印結(jié)果:


最后

合理的利用console的各種方法夜涕,會(huì)使我們的調(diào)試過程更加愉悅。
不過console除了本身作為調(diào)試?yán)饕酝馐舴撸€被一些網(wǎng)站作為招聘人才的一種廣告手段女器,例如百度:

輸出代碼:

try{
    window.console &&
    window.console.log &&
    (
        console.log("同學(xué),祝賀你喜提彩蛋~\n" +
            "或許你們還在猶豫是否加入住诸,我會(huì)坦誠的告訴你我們超酷驾胆;\n" +
            "在這里大家都用無人車代步,AI音箱不僅播放還可以交互贱呐;\n" +
            "人工智能是發(fā)展的核心技術(shù)丧诺,做自己讓未來不只領(lǐng)先幾步奄薇;\n" +
            "在這里做自己驳阎,歡迎來到百度!\n"),
        console.log("%c百度2019校園招聘簡歷提交:" +
            "http://dwz.cn/XpoFdepe " +
            "你將有機(jī)會(huì)直接獲得面試資格)"
            ,"color:red")
    )
}catch(e){}
天貓可以說是將console利用到了極致馁蒂!除了招聘信息外呵晚,它還在警告你:別在我的控制臺(tái)瞎折騰,后果很嚴(yán)重沫屡!

輸出:

var e={
    "info":"喵~ 加入我們吧 https://tb.cn/iS8NBOy",
    "logo":"   :::                                :::  \n" +
    " :::::::                             ::::: \n" +
    ":::::::::                          ::::::::\n" +
    ":::::::::::::::::::::::::::::::::::::::::::\n" +
    "::::    :::    ::::::::::::::::   :::  ::::\n" +
    ":::    Smart    :::::cool::::    Crazy  :::\n" +
    ":::::   :::    :::::::::::::::    :::   :::\n" +
    ":::::::::::::::::::::::::::::::::::::::::::"
};
try {
    window.console && console.log &&
    (
        console.log("%c 安全警告",
            "font-size:50px;" +
            "color:red;" +
            "-webkit-text-fill-color:red;" +
            "-webkit-text-stroke: 1px black;"),
        console.log("%c 此瀏覽器功能專供開發(fā)者使用饵隙。" +
            "請不要在此粘貼執(zhí)行任何內(nèi)容," +
            "這可能會(huì)導(dǎo)致您的賬戶受到攻擊沮脖," +
            "給您帶來損失 金矛!",
            "font-size: 20px;color:#333"),
        console.info(e.logo+"\n\n"+e.info)
    )
}catch(e){}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市勺届,隨后出現(xiàn)的幾起案子驶俊,更是在濱河造成了極大的恐慌,老刑警劉巖涮因,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異伺绽,居然都是意外死亡养泡,警方通過查閱死者的電腦和手機(jī)嗜湃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來澜掩,“玉大人购披,你說我怎么就攤上這事〖玳牛” “怎么了刚陡?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長株汉。 經(jīng)常有香客問我筐乳,道長,這世上最難降的妖魔是什么乔妈? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任蝙云,我火速辦了婚禮,結(jié)果婚禮上路召,老公的妹妹穿的比我還像新娘勃刨。我一直安慰自己,他們只是感情好股淡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布身隐。 她就那樣靜靜地躺著,像睡著了一般唯灵。 火紅的嫁衣襯著肌膚如雪贾铝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天早敬,我揣著相機(jī)與錄音忌傻,去河邊找鬼。 笑死搞监,一個(gè)胖子當(dāng)著我的面吹牛水孩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播琐驴,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼俘种,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了绝淡?” 一聲冷哼從身側(cè)響起宙刘,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎牢酵,沒想到半個(gè)月后悬包,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡馍乙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年布近,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了垫释。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,687評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撑瞧,死狀恐怖棵譬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情预伺,我是刑警寧澤订咸,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布,位于F島的核電站酬诀,受9級特大地震影響脏嚷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜料滥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一然眼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧葵腹,春花似錦高每、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至阻肩,卻和暖如春带欢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背烤惊。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工乔煞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柒室。 一個(gè)月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓渡贾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親雄右。 傳聞我的和親對象是個(gè)殘疾皇子空骚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評論 2 349

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