1、Chrome控制臺小技巧
打開和關閉抽屜式選項卡:按Esc鍵可打開和關閉 DevTools 的 Drawer(抽屜式選項卡)
在Drawer(抽屜式選項卡)中,你可以在 Console 控制臺中執行命令,查看動畫檢查器(Animations),配置網絡條件(network conditions)和渲染(rendering)設置,搜索(search)字符串和文件等
使用Request blocking 阻塞請求:
使用這個功能可以攔截請求;
比較常用的場景是,頁面執行完某操作后頁面就進行重定向跳轉了,這時如果想調試重定向前發的請求做了啥,就可以使用此功能進行阻塞攔截
debugger:代碼手動編程設置斷點調試;
Coverage 代碼覆蓋率檢測:可以觀察到代碼覆蓋率,哪些是沒用的,去除無用代碼,較少代碼體積
Changes 變化:顯示更改代碼的比較,可以通過這個工具觀察你用控制臺修改過的代碼,類似于git 的 diff 功能類似,紅色代表刪除、綠色代碼新增;
Snippets:在 console 里可以臨時運行代碼,但是書寫格式不太友好,而且一換行就執行了(雖然可以 shift+enter 換行),不想打開代碼編輯器怎么辦,可以使用 Snippets 這個工具創建js腳本,并可以訪問和從任何頁面的Chrome DevTools面板中執行(除非你刪除)。
2、console控制臺命令$_:返回最近一次計算的表達式的值;
$(selector):返回匹配指定CSS選擇器的第一個DOM元素的引用,實際是document.querySelector()函數的別名;
$$(selector):$$(selector)返回一個與給定CSS選擇器匹配的元素數組,等效于調用document.querySelectorAll();
$x(path):返回一個與給定XPath表達式匹配的DOM元素的數組;
clear(): 清除控制臺中所有歷史記錄;
copy(object):將指定對象的字符串表示復制到剪貼板;
debug(function):當調用指定的函數時,調試器被調用并在Sources(源文件)面板上的函數內部斷點暫停;
dir(object):Console API的console.dir()方法的別名。
getEventListeners(object)返回在指定對象上注冊事件的監聽器
keys(object) 返回一個數組,該數組包含屬于指定對象的屬性名;
values(object):回一個數組,該數組包含屬于指定對象的屬性值;
document.body.contentEditable=true:將瀏覽器變成編輯器
monitorEvents(document.body, "click"):第一個參數是要監聽的對象。如果未提供第二個參數,所有事件都會返回。要指定要監聽的事件,傳遞一個字符串或字符串數組作為第二個參數;
unmonitorEvents(document.body):停止監聽body對象上的事件;
3、console API詳解有開發就有console,開發調試必使用的一大命令console,看看都有些啥?
(1)輸出信息基本方法:console.log 用于輸出普通信息
console.info 用于輸出提示性信息
console.error用于輸出錯誤信息
console.warn用于輸出警示信息
console.group&&console.groupEnd分組輸出,console.groupCollapsed創建新分組
console.group("warn警告信息") console.warn("warn1") console.warn("warn2") console.warn("warn3") console.groupEnd() console.group("info信息") console.warn("info") console.warn("info1") console.groupEnd() console.group("log信息") console.warn("log1") console.warn("log2") console.groupEnd() console.group("error信息") console.warn("error1") console.warn("error2") console.groupEnd()
給console輸出添加樣式(通過背景屬性圖片也可以輸出哦)
["log","info","warn","error"].forEach(item => { let $print = console[item]; console[item] = function() { $print.call(console, "%c"+Array.prototype.slice.apply(arguments).join(" "), "font-size: 16px;padding:10px;font-weight: bold;text-decoration: underline;") } })(2)復雜類型輸出:
console.dir | console.dirxml:替代for in詳細的輸出對象信息,經常遇到的坑點是,使用console.log想打印出對象信息,發現只有[object Object],現在可以使用dir;dirxml如果可以會使用xml形式打印。
let obj = { test_1: "ffff", test_2: "這是test", fn: () => { console.log("fn") }, arr_1: [1,{a: "arr_obj"}, "string"] } console.group("log打印對象") console.log(obj) console.groupEnd() console.group("dir打印對象") console.dirxml(obj) console.groupEnd() console.group("dirxml打印對象") console.dirxml(obj) console.groupEnd() console.group("log打印數組") console.log(obj.arr_1) console.groupEnd() console.group("dir打印數組") console.dirxml(obj.arr_1) console.groupEnd() console.group("dirxml打印數組") console.dirxml(obj.arr_1) console.groupEnd()
有時候對象或者數組數據過多,要是能表格形式直觀展示就perfect,console.table滿足你
let obj = { test_1: "ffff", test_2: "這是test", fn: () => { console.log("fn") }, arr_1: [1,{a: "arr_obj"}, "string"] } console.group("table打印") console.table(obj) console.groupEnd()(3)其他調試輸出:
計算某段程序運行時間:
console.time("time") 計時開始
console.timeEnd("time") 計時結束
計算某段程序運行時CPU使用相關信息(統計結束后信息記錄在JavaScript Profiler面板):
console.profile("profile") 監聽開始
console.profileEnd("profile") 監聽結束
條件輸出(斷言輸出,如果計算表達式返回false時,向控制臺寫入一個error):
console.assert(false, "為false時才輸出") console.assert(true, "為true時不輸出")
console.count("fn執行次數:")統計代碼執行次數的必備;
console.timeLine、console.timeLineEnd記錄一段時間軸
console.clear():清空控制臺
console.debug():使用方式和console.log一樣
console.timeStamp():在記錄會話期間向Timeline(時間軸)面板添加一個事件
console.trace(‘test’, obj):在調用該方法的地方打印堆棧跟蹤。
“積跬步、行千里”—— 越來越懶的自己,回來吧!態懶可不太好。喜歡的話留下個贊和關注哦!
往期經典好文:
你不知道的CORS跨域資源共享
性能優化篇---Webpack構建速度優化
性能優化篇---Webpack構建代碼質量壓縮作
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/114932.html
1、Chrome控制臺小技巧 打開和關閉抽屜式選項卡:按Esc鍵可打開和關閉 DevTools 的 Drawer(抽屜式選項卡) 在Drawer(抽屜式選項卡)中,你可以在 Console 控制臺中執行命令,查看動畫檢查器(Animations),配置網絡條件(network conditions)和渲染(rendering)設置,搜索(search)字符串和文件等 showImg(https...
摘要:特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 本以為自己收藏的站點多,可以很快搞定,沒想到一入匯總深似海。還有很多不足&遺漏的地方,歡迎補充。有錯誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應和斧正,會及時更新,平時業務工作時也會不定期更...
摘要:我打算把一些上使用的高級技巧寫成你不知道的這一系列的博文,希望大家一起學習學習。然而,這還不是最嚴重的,因為的語法比較寬松和隨意,所以同一功能多種寫法,各種奇葩都有。總結前端在調試代碼的時候,知道開發工具上的小技巧,可以提高查找問題的效率。 Web前端開發過程中必然會用到Chrome瀏覽器自帶的開發者工具Chrome DevTools,使用它作為Web前端開發性能調試的必備工具。就連隔...
摘要:前言除了我們日常使用的調試方法,在中,其含有一些有意思的方法,有助于提高我們的開發調試效率。而在調試中我們可以使用是與來作為選擇器,省去大串代碼,如下。測試用時測試用時關閉界面 前言:除了我們日常使用的調試方法,在Chrome中,其含有一些有意思的方法,有助于提高我們的開發調試效率。 Sources頁 command + p 文件跳轉 使用Sublime的人或習慣用command +...
閱讀 1000·2021-11-22 13:52
閱讀 1441·2021-11-19 09:40
閱讀 3122·2021-11-16 11:44
閱讀 1263·2021-11-15 11:39
閱讀 3893·2021-10-08 10:04
閱讀 5333·2021-09-22 14:57
閱讀 3096·2021-09-10 10:50
閱讀 3177·2021-08-17 10:13