久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Chrome控制臺實(shí)用指南

前言

Chrome瀏覽器我想是每一個(gè)前端er必用工具之一吧,,一部分原因是它速度快,體積不大,,支持的新特性也比其它瀏覽器多,,還有一部分我想就是因?yàn)樗目刂婆_功能強(qiáng)大了吧,說它是神器一點(diǎn)也不過分,,很方便,。但其實(shí)很多開發(fā)者并沒有用出控制臺的精髓,只是使用簡單的console.log();其實(shí)控制臺功能遠(yuǎn)遠(yuǎn)不止這么簡單哦,。

console.clear

console.clear();清空控制臺,,這個(gè)應(yīng)該和console.log知名度一樣高吧。

console.log家族

先簡單介紹一下chrome的控制臺,,打開chrome瀏覽器,,按f12就可以輕松的打開控制臺

如果你是一位開發(fā)者,我想console.log肯定是經(jīng)常使用的了,,我們主要看看console.log的幾個(gè)兄弟:

1.console.log ('普通信息')2.console.info ('提示性信息')3.console.error ('錯誤信息')4.console.warn ('警示信息')

控制臺

大家都會用log,,但很少有人能夠很好地利用console.error , console.warn 等將輸出到控制臺的信息進(jìn)行分類整理。他們功能區(qū)別不大,,意義在于將輸出到控制臺的信息進(jìn)行歸類,,或者說讓它們更語義化。

如果再配合console.group 與console.groupEnd,,可以將這種分類管理的思想發(fā)揮到極致,。這適合于在開發(fā)一個(gè)規(guī)模很大模塊很多很復(fù)雜的Web APP時(shí),將各自的log信息分組到以各自命名空間為名稱的組里面,。

console.group('app.bundle');console.warn('來自bundle模塊的警告信息1');console.warn('來自bundle模塊的警告信息2');console.groupEnd();console.group('app.bundle');console.log('來自bundle模塊的信息1');console.log('來自bundle模塊的信息2');console.groupEnd();

這里寫圖片描述

這樣的控制臺信息看上去就一目了然了,,就不用再為了找這是屬于那一行代碼輸出的再翻一遍源碼了。

另外,,console.log家族還給我們提供了一個(gè)的API:第一個(gè)參數(shù)可以帶一些格式化指令,,比如%c,\n;看下面這個(gè)炫酷的效果:

console.log('%chello world', 'background-image:-webkit-gradient( linear, left top, right top, color-stop(0, #f22), color-stop(0.15, #f2f), color-stop(0.3, #22f), color-stop(0.45, #2ff), color-stop(0.6, #2f2),color-stop(0.75, #2f2), color-stop(0.9, #ff2), color-stop(1, #f22) );color:transparent;-webkit-background-clip: text;font-size:5em;');

這里寫圖片描述

當(dāng)然,圖片也是可以的,,讀者可以自行嘗試,,修改上述代碼即可。

另外,,console.log() 接收不定參數(shù),,參數(shù)間用逗號分隔,最終會輸出會將它們以空白字符連接,。

這里寫圖片描述

console.table

看著這種“黑魔法”是不是有種坑分的感覺呢,,其實(shí)還不止哦,!console.table可以讓我們輸出表格,示例:

var data = {code:200,content:[{'品名': '杜雷斯', '數(shù)量': 4}, {'品名': '岡本', '數(shù)量': 3}]};console.table(data.content);

這里寫圖片描述

有的時(shí)候后端傳回來一大串?dāng)?shù)據(jù),是不是覺得直接console.log或是通過抓包工具查看都會讓人暈頭轉(zhuǎn)向呢,,這個(gè)時(shí)候正事console.table發(fā)揮作用的時(shí)候了,,以表格的形式呈現(xiàn)數(shù)據(jù),自然一目了然,。

console.assert

var isDebug=false;console.assert(isDebug,'開發(fā)中的log信息,。。,。');

當(dāng)你想代碼滿足某些條件時(shí)才輸出信息到控制臺,,那么你大可不必寫if或者三元表達(dá)式來達(dá)到目的,cosole.assert便是這樣場景下一種很好的工具,,它會先對傳入的表達(dá)式進(jìn)行斷言,,只有表達(dá)式為假時(shí)才輸出相應(yīng)信息到控制臺。

這里寫圖片描述

console.count

除了條件輸出的場景,,還有常見的場景是計(jì)數(shù),。當(dāng)你想統(tǒng)計(jì)某段代碼執(zhí)行了多少次時(shí)也大可不必自己去寫相關(guān)邏輯,內(nèi)置的console.count可以很地勝任這樣的任務(wù).

這里寫圖片描述

console.dir

將DOM結(jié)點(diǎn)以JavaScript對象的形式輸出到控制臺而console.log是直接將該DOM結(jié)點(diǎn)以DOM樹的結(jié)構(gòu)進(jìn)行輸出,,與在元素審查時(shí)看到的結(jié)構(gòu)是一致的,。不同的展現(xiàn)形式,同樣的優(yōu)雅,,各種體位任君選擇反正就是方便與體貼,。

console.dir(document.body);console.log(document.body);

這里寫圖片描述

console.time & console.timeEnd

輸出一些調(diào)試信息是控制臺最常用的功能,當(dāng)然,,它的功能遠(yuǎn)不止于此,。當(dāng)做一些性能測試時(shí),同樣可以在這里很方便地進(jìn)行,。比如需要考量一段代碼執(zhí)行的耗時(shí)情況時(shí),,可以用console.time與 console.timeEnd來做此事。

console.time('Array耗時(shí)');var array= new Array(10000000);for (var i = array.length - 1; i >= 0; i--) { array[i] = new Object();};console.timeEnd('Array耗時(shí)');

這里寫代碼片

當(dāng)想要查看CPU使用相關(guān)的信息時(shí),,可以使用console.profile配合 console.profileEnd來完成這個(gè)需求,。這一功能可以通過UI界面來完成,Chrome 開發(fā)者工具里面有個(gè)tab便是Profile,。使用方法和console.time基本一樣,,其實(shí)time開發(fā)者工具里也有個(gè)tab就是timeline。關(guān)于console.prefile博主就不做多余的介紹了,。想要做更多了解的讀者可以看這里

$

講真,,米國程序員們真的很喜歡money?。ㄕl又不是呢),,看看PHP就知道了,滿屏的$。而在Chrome的控制臺里,,$用處同樣是蠻多且方便的,。

2+2//回車,再$_+1//回車得5

上面的$_需要領(lǐng)悟其奧義才能使用得當(dāng),,而$0~$4則代表了最近5個(gè)你選擇過的DOM節(jié)點(diǎn),。什么意思呢?在頁面右擊選擇審查元素,,然后在彈出來的DOM結(jié)點(diǎn)樹上面隨便點(diǎn)選,,這些被點(diǎn)過的節(jié)點(diǎn)會被記錄下來,而$0會返回最近一次點(diǎn)選的DOM結(jié)點(diǎn),,以此類推,,$1返回的是上上次點(diǎn)選的DOM節(jié)點(diǎn),最多保存了5個(gè),,如果不夠5個(gè),,則返回undefined。

這里寫圖片描述

另外值得一贊的是,,Chrome 控制臺中原生支持類jQuery的選擇器,,也就是說你可以用$加上熟悉的css選擇器來選擇DOM節(jié)點(diǎn),多么滴熟悉,。

$('body');$$('div');

這里寫圖片描述

$(selector)返回的是滿足選擇條件的首個(gè)DOM元素,。剝?nèi)ニ齻紊频耐庖拢鋵?shí)$(selector)是原生JavaScript document.querySelector() 的封裝,。同時(shí)另一個(gè)命令$$(selector)返回的是所有滿足選擇條件的元素的一個(gè)集合,,是對document.querySelectorAll() 的封裝。

$x(path)

將所匹配的節(jié)點(diǎn)放在一個(gè)數(shù)組里返回

$x('//p');$x('//p[a]');

這里寫圖片描述

$x('//p')匹配所有的p節(jié)點(diǎn),,$x('//p[a]');匹配所有子節(jié)點(diǎn)包含a的p節(jié)點(diǎn)

copy

copy(document.body)

然后你就可以Ctrl+v了,。

注意:他不依附于任何全局變量比如window,所以其實(shí)在JS代碼里是訪問不了這個(gè)copy方法的,,所以從代碼層面來調(diào)用復(fù)制功能也就無從談起,。但愿有天瀏覽器會提供相應(yīng)的JS實(shí)現(xiàn)吧~這樣我們就可以通過js代碼進(jìn)行復(fù)制操作而不用再依賴Flash插件了。

keys & values

這是一對基友,。前者返回傳入對象所有屬性名組成的數(shù)據(jù),,后者返回所有屬性值組成的數(shù)組。具體請看下面的例子:

var tfboy={name:'wayou',gender:'unknown',hobby:'opposite to the gender'};keys(tfboy);values(tfboy);

這里寫圖片描述

monitor & unmonitor

monitor(function),,它接收一個(gè)函數(shù)名作為參數(shù),,比如function a,每次a被執(zhí)行了,都會在控制臺輸出一條信息,,里面包含了函數(shù)的名稱a及執(zhí)行時(shí)所傳入的參數(shù),。而unmonitor(function)便是用來停止這一監(jiān)聽,。

function sayHello(name){ alert('hello,'+name);}monitor(sayHello);sayHello('damonare');sayHello('tjz');unmonitor(sayHello);

這里寫圖片描述

debug & undebug

debug同樣也是接收一個(gè)函數(shù)名作為參數(shù)。當(dāng)該函數(shù)執(zhí)行時(shí)自動斷下來以供調(diào)試,,類似于在該函數(shù)的入口處打了個(gè)斷點(diǎn),,可以通過debugger來做到,同時(shí)也可以通過在Chrome開發(fā)者工具里找到相應(yīng)源碼然后手動打斷點(diǎn),。而undebug 則是解除該斷點(diǎn),。而其他還有好些命令則讓人沒有說的欲望,因?yàn)楹眯┒伎梢酝ㄟ^Chrome開發(fā)者工具的UI界面來操作并且比用在控制臺輸入要方便,。

本博文依據(jù)Console API文檔Commond API書寫,。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多