国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

你不知道的16條JavaScript調(diào)試技巧

開發(fā) 前端
JavaScript調(diào)試是業(yè)內(nèi)公認(rèn)的難題。但一旦你掌握技巧,了解了工具本身,便能節(jié)省一大把時(shí)間。以下16條調(diào)試技巧,可供您在下次調(diào)試JavaScript代碼時(shí)使用!

JavaScript調(diào)試是業(yè)內(nèi)公認(rèn)的難題。但一旦你掌握技巧,了解了工具本身,便能節(jié)省一大把時(shí)間。以下16條調(diào)試技巧,可供您在下次調(diào)試JavaScript代碼時(shí)使用!

[[378944]]

這些技巧大多數(shù)都適用于Chrome和Firefox,許多技巧也可以與其他檢查員一起使用。另外,如果您想更快地找到JavaScript錯(cuò)誤,請(qǐng)嘗試Raygun Crash Reporting,它會(huì)提醒您注意錯(cuò)誤并提供堆棧跟蹤。

1.調(diào)試器

在console.log之后,調(diào)試器是我最喜歡的快速調(diào)試工具。如果放置調(diào)試器,在您的代碼行中,Chrome將在執(zhí)行時(shí)自動(dòng)在那里停止,您甚至可以將其包裝在條件句中,因此它僅在需要時(shí)運(yùn)行。

 

2.將對(duì)象顯示為表格

有時(shí),您要查看一組復(fù)雜的對(duì)象。您可以console.log它們并在列表中滾動(dòng),也可以使用console.table幫助器。它使您更輕松地查看正在處理的內(nèi)容!

 

將輸出:

 

3.嘗試所有尺寸

雖然桌上有每個(gè)移動(dòng)設(shè)備都很棒,但在現(xiàn)實(shí)世界中這是不可行的。如何調(diào)整視口的大小呢?Chrome為您提供所需的一切。跳到檢查器中,然后單擊切換設(shè)備模式 按鈕。觀看您的媒體查詢成真!

 

4.如何快速找到您的DOM元素

在元素面板中標(biāo)記一個(gè)DOM元素,然后在控制臺(tái)中使用它。Chrome瀏覽器檢查器會(huì)保留其歷史記錄中的最后五個(gè)元素,以便最后標(biāo)記的元素顯示為$ 0,倒數(shù)第二個(gè)標(biāo)記的元素為$ 1,依此類推。

如果按照“ item-4”,“ item-3”,“ item-2”,“ item-1”,“ item-0”的順序標(biāo)記以下項(xiàng),則可以在控制臺(tái)中訪問這樣的DOM節(jié)點(diǎn):

 

5.使用console.time()和console.timeEnd()進(jìn)行基準(zhǔn)循環(huán)

確切地知道執(zhí)行某項(xiàng)操作要花多長(zhǎng)時(shí)間可能特別有用,尤其是在調(diào)試慢循環(huán)時(shí)。您甚至可以通過為方法分配標(biāo)簽來設(shè)置多個(gè)計(jì)時(shí)器。讓我們看看它是如何工作的:

 

將輸出:

 

6.獲取函數(shù)的堆棧跟蹤

您可能知道JavaScript框架可以快速生成大量代碼。

您將擁有很多視圖并觸發(fā)許多事件,因此最終您將遇到一種情況,您想知道是什么導(dǎo)致了特定的函數(shù)調(diào)用。由于JavaScript不是一種結(jié)構(gòu)化的語言,因此有時(shí)可能難以掌握發(fā)生的情況和時(shí)間。

這是當(dāng)console.trace(或只是在控制臺(tái)中的跟蹤)派上用場(chǎng)時(shí)才能調(diào)試JavaScript的時(shí)候。想象一下,您想在car實(shí)例中看到函數(shù)調(diào)用funcZ的整個(gè)堆棧跟蹤:

 

將輸出:

 

現(xiàn)在我們可以看到func1叫做func2,它叫做func4。然后Func4 創(chuàng)建Car的實(shí)例,然后調(diào)用函數(shù)car.funcX,依此類推。即使您認(rèn)為自己非常了解腳本,這仍然非常方便。假設(shè)您要改善代碼。獲取跟蹤和所有相關(guān)功能的詳細(xì)列表。每一個(gè)都可以單擊,現(xiàn)在您可以在它們之間來回切換。就像一個(gè)菜單只適合您。

7.最小化代碼是調(diào)試JavaScript的簡(jiǎn)便方法

有時(shí)您可能在生產(chǎn)中遇到問題,而源映射并沒有完全到達(dá)服務(wù)器。不要害怕。Chrome可以將您的Javascript文件縮小為更易于閱讀的格式。該代碼不會(huì)像您的實(shí)際代碼那樣有用-但至少您可以看到正在發(fā)生的事情。單擊檢查器中源查看器下方的{}漂亮打印按鈕。

 

8.快速找到要調(diào)試的功能

比方說,你要設(shè)置一個(gè)斷點(diǎn)在function.The兩種最常見的方式做到這一點(diǎn)是:

1.找到你檢查線路,并添加一個(gè)斷點(diǎn)

2.在腳本中添加調(diào)試器

在這兩種解決方案,您必須手動(dòng)瀏覽文件以隔離要調(diào)試的特定行。可能不太常見的是使用控制臺(tái)。在控制臺(tái)中使用debug(funcName),當(dāng)腳本達(dá)到您傳遞的功能時(shí),腳本將停止。

它很快,但是缺點(diǎn)是它不適用于私有或匿名函數(shù)。否則,這可能是找到要調(diào)試的函數(shù)的最快方法。(注意:盡管命名類似,但有一個(gè)名為console.debug的函數(shù)不是同一回事。)

 

在控制臺(tái)中鍵入debug(car.funcY),當(dāng)腳本獲得對(duì)car.funcY的函數(shù)調(diào)用時(shí),該腳本將在調(diào)試模式下停止:

 

9.不相關(guān)的黑匣子腳本

今天,我們的Web應(yīng)用程序上經(jīng)常有一些庫和框架。它們中的大多數(shù)都經(jīng)過了良好的測(cè)試,并且相對(duì)沒有錯(cuò)誤。

但是,調(diào)試器仍會(huì)進(jìn)入與此調(diào)試任務(wù)無關(guān)的所有文件。解決方案是將不需要調(diào)試的腳本黑框。這可能還包括您自己的腳本。在本文中閱讀有關(guān)調(diào)試黑匣子的更多信息。

10.查找復(fù)雜調(diào)試中的重要內(nèi)容

在更復(fù)雜的調(diào)試中,有時(shí)我們希望輸出許多行。要使輸出保持更好的結(jié)構(gòu),您可以做的一件事是使用更多控制臺(tái)功能,例如console.log,console.debug,console.warn,console.info,console.error等。

然后,您可以在檢查器中過濾它們。有時(shí),當(dāng)您需要調(diào)試JavaScript時(shí),這并不是您真正想要的。如果愿意,您可以發(fā)揮創(chuàng)意并設(shè)置信息樣式。要調(diào)試JavaScript時(shí),請(qǐng)使用CSS并制作自己的結(jié)構(gòu)化控制臺(tái)消息:

 

將輸出:

 

在console.log()中,您可以將%s設(shè)置為字符串,將%i設(shè)置為整數(shù),并將%c設(shè)置為自定義樣式。您可能會(huì)找到使用這些樣式的更好方法。如果使用單個(gè)頁面框架,則可能需要一種樣式用于查看消息,而另一種樣式用于模型,集合,控制器等。

11.觀察特定的函數(shù)調(diào)用和參數(shù)

在Chrome控制臺(tái)中,您可以關(guān)注特定功能。每次調(diào)用該函數(shù)時(shí),都會(huì)使用傳入的值進(jìn)行記錄。

 

 

 

 

將輸出:

 

這是查看將哪些參數(shù)傳遞給函數(shù)的好方法。理想情況下,控制臺(tái)可以告訴您期望多少個(gè)參數(shù),但是不能。在上面的示例中,func1需要三個(gè)參數(shù),但僅傳入兩個(gè)參數(shù)。如果代碼中未對(duì)此進(jìn)行處理,則可能導(dǎo)致錯(cuò)誤。

12.快速訪問控制臺(tái)中的元素

在控制臺(tái)中執(zhí)行querySelector的更快方法是使用美元符號(hào)。$('css-selector')將返回CSS選擇器的第一個(gè)匹配項(xiàng)。$$('css-selector')將全部返回。如果您多次使用某個(gè)元素,則值得將其另存為變量。

 

 

13.Postman很棒(但是Firefox更快)

許多開發(fā)人員正在使用Postman來處理Ajax請(qǐng)求。Postman非常出色,但是打開一個(gè)新的瀏覽器窗口,編寫新的請(qǐng)求對(duì)象然后進(jìn)行測(cè)試可能會(huì)有些煩人。

有時(shí)使用瀏覽器會(huì)更容易。當(dāng)您這樣做時(shí),如果您要發(fā)送到密碼安全頁面,則不再需要擔(dān)心身份驗(yàn)證cookie。

這是您在Firefox中編輯和重新發(fā)送請(qǐng)求的方式。打開檢查器,然后轉(zhuǎn)到“網(wǎng)絡(luò)”選項(xiàng)卡。右鍵單擊所需的請(qǐng)求,然后選擇“編輯并重新發(fā)送”。

現(xiàn)在,您可以更改任何所需的內(nèi)容。更改標(biāo)題并編輯參數(shù),然后單擊重新發(fā)送。

下面,我兩次提出一個(gè)具有不同屬性的請(qǐng)求:

 

14.中斷節(jié)點(diǎn)更改

DOM可能很有趣。有時(shí)情況會(huì)發(fā)生變化,而您不知道為什么。但是,當(dāng)您需要調(diào)試JavaScript時(shí),Chrome可讓您在DOM元素更改時(shí)暫停。

您甚至可以監(jiān)視其屬性。在Chrome Inspector中,右鍵單擊該元素,然后選擇要使用的設(shè)置中斷:

 

15.使用頁面速度服務(wù)

有很多服務(wù)和工具可用于審核頁面的JavaScript,并幫助您發(fā)現(xiàn)速度下降或問題。這些工具之一是Raygun Real User Monitoring。

除了查找JavaScript問題外,這還可能因其他原因而有用-加載外部腳本緩慢,不必要的CSS,圖像過大。它可以幫助您了解導(dǎo)致意外加載時(shí)間過長(zhǎng)或無法正確執(zhí)行的JavaScript問題。

您還可以衡量JavaScript性能的改進(jìn)并隨時(shí)間進(jìn)行跟蹤。

 

16.到處都有斷點(diǎn)

最后,久經(jīng)考驗(yàn)的真正斷點(diǎn)可以成功。嘗試針對(duì)不同情況以不同方式使用斷點(diǎn)。

 

 

您可以單擊一個(gè)元素并設(shè)置一個(gè)斷點(diǎn),以在修改某個(gè)元素時(shí)停止執(zhí)行。您還可以進(jìn)入開發(fā)人員工具中的“調(diào)試器”選項(xiàng)卡或“源”選項(xiàng)卡(取決于瀏覽器),并為任何特定源設(shè)置XHR斷點(diǎn)以在Ajax請(qǐng)求上停止。

在同一位置,還可以讓它在發(fā)生異常時(shí)暫停代碼執(zhí)行。您可以在瀏覽器工具中使用這些各種類型的斷點(diǎn),以最大程度地發(fā)現(xiàn)錯(cuò)誤,而不必花費(fèi)時(shí)間在外部工具集上。

責(zé)任編輯:華軒 來源: 新鈦云服
相關(guān)推薦

2020-11-03 09:51:04

JavaScript開發(fā) 技巧

2017-03-02 14:05:42

AndroidAndroid Stu調(diào)試技巧

2015-08-13 09:03:14

調(diào)試技巧

2017-11-07 21:58:25

前端JavaScript調(diào)試技巧

2017-07-21 09:48:45

SQL索引查詢

2023-07-07 14:47:46

JavaScript技巧

2018-09-20 17:05:01

前端程序員JavaScript

2022-10-13 11:48:37

Web共享機(jī)制操作系統(tǒng)

2020-08-11 11:20:49

Linux命令使用技巧

2022-12-07 08:16:50

Vue 3技巧數(shù)組

2021-01-05 11:22:58

Python字符串代碼

2020-01-29 19:40:36

Python美好,一直在身邊Line

2023-12-21 14:40:09

Python編程語言

2020-07-28 08:26:34

WebSocket瀏覽器

2020-06-12 09:20:33

前端Blob字符串

2024-05-15 18:59:01

JavaScript語言原型

2020-02-21 14:55:02

Python代碼字符串

2009-04-14 21:38:05

LinuxUbuntu技巧

2010-03-03 16:26:10

ubantu使用技巧

2015-05-07 13:13:27

JavaScript JavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲国产精品久久久久秋霞不卡 | 久久国内精品| 中文字幕一区二区三区不卡| 成人乱色短篇合集| 国产不卡精品在线| 日韩午夜中文字幕| 一级片免费视频| 国产精品一区二区男女羞羞无遮挡| 欧美一级片在线播放| a天堂资源在线| 日韩欧美在线一区| 亚洲色图38p| 国产美女娇喘av呻吟久久| 国产精品久久久对白| 国产成人精品三级高清久久91| 综合av色偷偷网| 美女网站视频在线| 精品视频一区二区三区免费| av免费播放| 久久久久久久久久电影| 免费观看亚洲视频| 久久综合影视| 国产精品久久精品视| 久久看人人摘| 国产精品∨欧美精品v日韩精品| 四虎地址8848精品| 亚洲精品一区二区久| 免费观看久久久久| 在线观看成人免费视频| 在线激情av| 97在线精品视频| 亚洲国产高清一区| 97超级碰在线看视频免费在线看| 99九九电视剧免费观看| 日韩aaa久久蜜桃av| 亚洲国产人成综合网站| 成人一级生活片| 欧美三级日本三级少妇99| 亚洲国产成人久久| 日p在线观看| 欧美午夜美女看片| 写真福利理论片在线播放| 亚洲天堂成人网| 国产1区2区3区| 亚洲男人的天堂在线观看| 九七伦理97伦理手机| 成人免费在线播放视频| 欧美三级午夜理伦三级老人| 免费成人美女在线观看.| 神马影院我不卡| 男女男精品网站| 日本久久高清视频| 91免费国产视频网站| 小泽玛利亚视频在线观看| 亚洲精品欧美二区三区中文字幕| 美国成人av| 欧美日韩国产成人在线免费| 116美女写真午夜一级久久| 午夜精品福利视频网站| 国产黄色片在线观看| 欧美一区二区久久| 小视频免费在线观看| 久久影视电视剧免费网站| 国产色噜噜噜91在线精品 | 国产成人极品视频| 国产一区二区三区四区在线观看 | 日韩亚洲国产中文字幕欧美| 爱情岛论坛亚洲品质自拍视频网站| 日韩成人在线免费观看| 先锋影音网一区二区| 国产精品91在线观看| 9久re热视频在线精品| 日韩福利一区二区三区| 成人黄色a**站在线观看| 久草在线在线视频| 欧美视频第一页| 乱插在线www| 欧美激情亚洲自拍| 先锋影音成人资源| 欧美午夜宅男影院在线观看| 蜜桃成人在线视频| 91黄色8090| 久久久国产精品不卡| 激情都市亚洲| 不卡在线视频中文字幕| 国产亚洲精品久久久久婷婷瑜伽| 一区二区三区四区日本视频| 美女精品国产| 91视频91自| 韩国免费在线视频| 日韩中文字幕免费| 久久欧美肥婆一二区| 黄色网址入口| 欧美精品在线看| 91美女视频网站| 爱看av在线入口| 91影院未满十八岁禁止入内| 国产视频一区二区在线| 成人在线高清| 男女激情免费视频| 精品久久久久久亚洲综合网| 日韩欧美不卡| 国产精品久久a| 国产精品久久国产精品99gif| 国产精品18久久久久久久网站| 午夜精品福利一区二区| 狠狠色丁香久久婷婷综| av大全在线| 欧美日韩在线不卡视频| 亚洲欧美精品| 中国黄色录像片| 中文字幕永久在线不卡| 91久久精品美女高潮| 国产精品成人一区二区三区夜夜夜| 国产高清不卡| 亚洲尤物视频网| 久久精品国产福利| 国产精品网站大全| av在线不卡电影| 国产精品一区二区三区www| 91久久伊人青青碰碰婷婷| 屁屁影院在线观看| 日韩欧美国产麻豆| 性欧美xxxx大乳国产app| 午夜日韩成人影院| 成人午夜精品久久久久久久蜜臀| 色av吧综合网| 91首页免费视频| 成人福利视频| 男女高潮又爽又黄又无遮挡| 成人a视频在线观看| 亚洲国产另类精品专区| 不卡一区视频| 一区二区三区我不卡| 欧美一区二区观看视频| 日韩伦理一区二区| www.日日操| 欧美日韩精品欧美日韩精品一综合| 国产精品.xx视频.xxtv| 国产69精品久久久久999小说| 欧美精品免费在线| 一区二区高清在线| 三级久久三级久久| 日本精品影院| 亚洲精品乱码日韩| 在线精品日韩| 999久久久精品国产| 少妇高潮喷水久久久久久久久久| 亚洲精品电影在线| 我的公把我弄高潮了视频| 99精品视频免费观看视频| 丝袜美女写真福利视频| 九九热在线精品视频| 国产精品一区免费在线观看| 青青草视频在线免费直播| 久久精品99久久| 9191久久久久久久久久久| 亚洲午夜视频| 国产黄色免费在线观看| av在线不卡观看| 色天使色偷偷av一区二区| 97国产精品| 2222www色视频在线观看| 欧美最顶级的aⅴ艳星| 亚洲四区在线观看| 香蕉久久精品日日躁夜夜躁| h片免费观看| 欧美与黑人午夜性猛交久久久| 国产精品久久久久精k8| 国产伦精品一区二区三区免费优势| 黄色一级免费大片| 九九精品视频在线观看| 国产精品欧美一区二区三区| 日韩av三区| 中文字幕在线视频不卡| 成人在线视频网| 欧美日韩国产天堂| 老司机精品久久| 欧美特黄aaaaaaaa大片| 黄色一级片播放| 欧美制服第一页| 色哟哟欧美精品| 首页欧美精品中文字幕| 国产色婷婷在线| 成人精品视频在线播放| 欧美激情久久久久久| 亚洲高清一区二区三区| 国产一区二区三区四区三区四| 91小视频xxxx网站在线| 妺妺窝人体色www看人体| 欧美国产激情18| 亚洲国产精品久久人人爱| 亚洲精品视频啊美女在线直播| 国产丝袜在线观看视频| 国产69精品久久久久999小说| 欧美亚洲国产日韩2020| 欧美午夜精品免费| 高清视频一区二区| 亚洲图区在线| www免费在线观看|