成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

瀏覽:280日期:2024-05-30 17:10:58

上一篇我們學習了谷歌Chrome瀏覽器開發(fā)者工具的基礎功能,下面介紹的是Chrome開發(fā)工具中最有用的面板Sources。 Sources面板幾乎是最常用到的Chrome功能面板,也是解決一般問題的主要功能面板。通常只要是開發(fā)遇到了js報錯或者其他代碼問題,在審視一遍代碼而一無所獲之后打開Sources進行js斷點調試,幾乎能解決8成的代碼問題。

js斷點功能讓人興奮不已,以前只能在IE中靠alert彈出窗口調試js代碼,那樣的開發(fā)環(huán)境對于前端程序員來說簡直是一場噩夢。本篇介紹Sources的具體用法,幫助各位在開發(fā)過程中夠愉快地調試js代碼,而不是因它而發(fā)瘋。

首先打開F12開發(fā)工具切換到Sources面板中

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

Sources功能面板是資源面板,他主要分為四個部分,四個部分并不是獨立的,他們互相關聯(lián),互動共同實現(xiàn)一個重要的功能:監(jiān)控js在執(zhí)行期的活動。簡單來說就是斷點啦。

首先我們來看區(qū)域1,它的功能有些類似于Resources面板,主要是顯示網(wǎng)頁加載的腳本文件:例如css, js等資源文件(它不包含cookie,img等靜態(tài)資源文件)。

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

區(qū)域1的導航條上有三個tab切換選項,他們都存有不同域名和環(huán)境下的js和css文件,我們首先來說明Sources(資源)選項的作用:

Sources: 包含該項目的靜態(tài)資源文件。雙擊選中文件,該文件內容會在區(qū)域2中顯示,如果你選中的是js文件,那么你可以在區(qū)域2種單擊行號進行斷點調試,只要js執(zhí)行到了你所標記的這一行,它會停止向下執(zhí)行并且等待你的命令:

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

從上圖可以看到js執(zhí)行到斷點處時各個區(qū)域的變化,首先是區(qū)域3中的Breakpoints記錄信息會變高亮,然后是區(qū)域4中Scope 選項中列出了斷點處私有和公有的變量信息,這樣,我可以很直觀地知道,此時此刻js的執(zhí)行狀態(tài)。同樣的,你可以把鼠標放到區(qū)域2種的某個變量上,瀏覽器會彈出一個小框框,框框里面則是你懸浮其上的變量所有信息:

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

然后,你可以按F10跟著js執(zhí)行的路徑一步一步地走下去,如果你遇到了一個函數(shù)包含著另外一個函數(shù),那么你可以按F11進入到個函數(shù)中去觀察它的代碼執(zhí)行活動。你也可以通過點擊區(qū)域1底部的各個圖標對js代碼進行跟蹤。不過我建議你使用快捷鍵,故名思義,因為它比較快捷方便。不過怎么用完全按照個人習慣來吧。下圖是各個按鈕的作用功能。

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

在上圖藍色圓圈中數(shù)字,它們分別代表:

1、停止斷點調試

2、不跳入函數(shù)中去,繼續(xù)執(zhí)行下一行代碼(F10)

3、跳入函數(shù)中去(F11)

4、從執(zhí)行的函數(shù)中跳出

5、禁用所有的斷點,不做任何調試

6、程序運行時遇到異常時是否中斷的開關

接下來在區(qū)域4種切換到Watch Expressions 選項,它的作用是為目前斷點添加表達式,使得每次斷點往下走一步都會執(zhí)行你寫下的js代碼。需要注意的是這個功能必須謹慎使用,因為這可能會導致你寫下的監(jiān)控代碼段會不斷地被執(zhí)行。

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

為了避免你的調試代碼重復執(zhí)行,我們可以在調試時直接在console控制臺上一次性地輸出當前斷點處的信息(推薦這樣做)。為了驗證我們在console面板中擁有的是當前斷點環(huán)境,我門可以對比斷點執(zhí)行前后的this值變化。

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

如果你覺得在斷點的時候為了看一個變量必須借用console面板輸出的方式來查看會比較麻煩,那么你可以更新新版的Chrome,它已經為我們解決了這個煩惱。為了方便開發(fā)者調試,在這一點上谷歌已經做到了極致,就在前幾天更新過Chrome以后,鹵煮意外地發(fā)現(xiàn)了斷點時監(jiān)控環(huán)境變量的另外一種方式,這種方式極為清晰,在斷點調試的時候,區(qū)域2中會自動顯示每個變量的值,每次代碼往下走的時候這個值都回時時更新。這讓開發(fā)者對當前環(huán)境變量幾乎可以說是一目了然。(此功能有一個小缺陷,那就是無法查看數(shù)組或者對象的具體索引和值,不過我相信google會改進它的。)

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

當你的項目已經線上,出現(xiàn)了一個bug,你修復了之后無法看到它真正在線上的效果,那么你可以在打開線上的項目,直接在瀏覽器中修改代碼然后看到效果。這樣的效果往往是最直接的,這種方法也能幫你省去頻繁驗證發(fā)布的麻煩,畢竟身為前端碼農的你也一定會聽到過后臺(通常情況下是后臺發(fā)布)大哥的抱怨:“XXX,測試通過了沒,不要出現(xiàn)了哈,發(fā)布一次很麻煩的!”。而在Chrome里面,只需要在區(qū)域2種直接修改,你就可以驗證你的代碼在線上是否可行。鹵煮在此處只是指出該功能的用法之一。其他的就憑諸位的聰明才智去想了。

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

即使在斷點時,你也可以編輯代碼,按ctrl+S保存之后,你會看到區(qū)域2的背景由白色變?yōu)闇\色,而斷點會重新開始執(zhí)行。

回到區(qū)域1,Content script 選項開里面包含著一些第三方插件或者瀏覽器自身的js代碼,經常它是被忽略的,實際上它的作用很少。我們可以更多關注一下Snippets選項。還記得基礎篇里面介紹的style嗎?在里面我們可以編輯界面的css代碼并且即時看到它們的映射效果,同樣地,在Sinppets中,我們也 可以編輯(重寫)js代碼片段。這些片段實際上就相當于你的js文件一樣,不同的是本地的js文件在編輯器里面編輯的,而此處,你是在瀏覽器中編寫的。這些代碼片段在瀏覽器刷新的時候既不會消失,也不會執(zhí)行,除非是你手動執(zhí)行它。它可以存在你的本地瀏覽器中,即使關閉瀏覽器,再次打開時它依然還在那里。它的主要作用可以使得我們編寫一些項目的測試代碼時提供便捷,你知道,如果你在編輯器上編寫這些代碼,在發(fā)布時你必須為它們添加注釋符號或者手動刪除它們,而在瀏覽器上編寫就不需要這樣繁瑣了。

在Snippets選項的空白處右鍵后選擇彈出的new選項,建立一個你自己的新的文件,然后在區(qū)域2種編輯它。

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

Snippets 的非常功能強大,它的許多隱藏功能還有待發(fā)掘。目前鹵煮使用它是在記住調試片段、單元測試、少量的功能代碼編寫功能上。

最后我們看看js中時間豐富的監(jiān)控功能,同上篇文章介紹的一樣,Sources面板和Elements面板一樣有監(jiān)控事件的功能,而且Sources中功能更加豐富,也更加強大。它的這部分功能集中在區(qū)域3中。我以下圖為例,觀察其作用。

谷歌Chrome瀏覽器開發(fā)者工具教程—JS調試篇

從上到下,紫色圈內的數(shù)字的意義:

1、斷點處的債堆棧,就是從該函數(shù)起,逐級追尋調用到他的函數(shù)名。例如:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

function a () {

b();

}

function b() {

c();

}

function c() {

//在該處斷點,查看call stack

}

a->b->c.

call stack 從上到下的順序就是

c

b

a

2、在區(qū)域2中你的斷點調試信息。當某個斷點在執(zhí)行的時候對應的信息會高亮,雙擊該處信息可以在區(qū)域2中快速定位。

3、添加的Dom監(jiān)控信息。

4、擊+ 并輸入 URL 包含的字符串即可監(jiān)聽該 URL 的 Ajax 請求,輸入內容就相當于 URL 的過濾器。如果什么都不填,那么就監(jiān)聽所有 XHR 請求。一旦 XHR 調用觸發(fā)時就會在 request.send() 的地方中斷。

5、為網(wǎng)頁添加各種類型的斷點信息。如選中了Mouse中的某一項(click),當你在網(wǎng)頁上出發(fā)這個動作(單擊網(wǎng)頁任意地方),你瀏覽器就是立刻斷點監(jiān)控該事件。

值得再次重復一遍,Sources是一般的功能開發(fā)中最常用到也是最有用的功能面板,它里面的許多功能對于我們開發(fā)前端工程來說是非常有幫助的。在web2.0時代的今天,我不推薦依然在自己的代碼里面寫調試信息的行為,因為這會然你的開發(fā)變得繁瑣。Chrome開發(fā)工具給我們提供的強大功能,我們應該好好利用之。這篇文章就到此結束,雖然有點繁瑣,但總算基本表述了鹵煮使用經驗和想法,希望對你有幫助。如果你覺得不錯,請推薦一下本文并繼續(xù)關注鹵煮在的博客。在下一篇中我將向大家介紹Chrome開發(fā)工具中的性能方面的調試。

標簽: JavaScript
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国内精品福利| 成人欧美一区二区三区黑人麻豆| 日本道精品一区二区三区| 国产精品第四页| 99久久伊人精品| 91精品国产免费| 国产一区二区免费看| 色噜噜狠狠色综合欧洲selulu| 樱花影视一区二区| 亚洲网址在线| 国产精品久久久久aaaa| 欧美1区2区3区| 国产女同性恋一区二区| 欧美一区视频| 中文字幕免费不卡在线| 国产精品chinese| 中文字幕在线不卡| 伊人影院久久| 亚洲精品国产无天堂网2021| 国产欧美一区二区三区另类精品 | 成人丝袜18视频在线观看| 欧美日韩国产大片| 国产麻豆精品在线| 日韩一区二区三区在线| 成人黄色大片在线观看| 日韩免费成人网| 成人激情免费电影网址| www国产亚洲精品久久麻豆| av在线免费不卡| 国产精品久久久久久福利一牛影视 | 91精品在线免费观看| 国产精品一级在线| 精品精品欲导航| 国产中文一区二区| 亚洲免费大片在线观看| 久久精品一区二区国产| 秋霞成人午夜伦在线观看| 欧美日韩国产bt| 精品亚洲国产成人av制服丝袜| 制服丝袜亚洲精品中文字幕| 成人性色生活片| 欧美国产97人人爽人人喊| 亚洲久久在线| 日韩电影在线观看一区| 欧美一区二区三区性视频| 91在线观看免费视频| 亚洲欧美另类久久久精品| 老司机精品导航| 国产精品中文字幕日韩精品 | 欧美人与禽猛交乱配| 亚洲视频一区二区免费在线观看| 亚洲欧美99| 国产美女一区二区三区| 日本一区二区三区在线观看| 羞羞答答国产精品www一本| 韩国欧美一区二区| 欧美激情一区二区三区全黄| 亚洲欧美日本视频在线观看| 美女诱惑一区二区| 国产亚洲婷婷免费| 免费久久99精品国产自在现线| 狠狠色综合色综合网络| 国产欧美视频在线观看| 国产伦精品一区二区三区高清版| 精品一区二区三区在线播放视频| 精品国产麻豆免费人成网站| 日韩亚洲视频| 国产在线一区观看| 国产精品美女久久久久aⅴ| 色婷婷亚洲综合| 91丝袜美腿高跟国产极品老师| 一区二区三区鲁丝不卡| 91麻豆精品国产| 亚洲韩日在线| 激情偷乱视频一区二区三区| 亚洲国产高清aⅴ视频| 免费看的黄色欧美网站| 风间由美中文字幕在线看视频国产欧美 | 久久久久久电影| 国产精品视频免费观看| 激情伊人五月天久久综合| 日韩一区二区三区视频在线 | 精品欧美一区二区三区精品久久| 日韩视频一区二区三区在线播放免费观看| 麻豆国产欧美日韩综合精品二区| 久久久精品天堂| 久久综合给合久久狠狠色| 97久久精品人人爽人人爽蜜臀| 亚洲成人动漫在线免费观看| 精品国产一区二区在线观看| 久久福利毛片| 色综合久久综合中文综合网| 免费亚洲电影在线| 国产精品网站在线观看| 欧美日韩一区三区四区| 亚洲日本久久| 国产成人a级片| 亚洲国产日日夜夜| 久久久久久久久久久久久女国产乱| 久久久综合网| 色综合天天综合色综合av | 午夜电影亚洲| 久久精品国产**网站演员| 国产精品免费视频一区| 欧美日韩国产高清一区二区三区| 日韩亚洲视频| 97精品视频在线观看自产线路二 | 91久久久久| 国产成人免费视频网站| 亚洲资源中文字幕| 久久综合色8888| 欧美日韩国产小视频| 99视频精品免费观看| av在线这里只有精品| 久久99国产精品尤物| 亚洲精品视频免费看| 2021中文字幕一区亚洲| 欧美手机在线视频| 国产日韩欧美一区二区三区四区| 97久久精品人人做人人爽50路| 蜜桃视频一区二区三区在线观看| 日韩伦理免费电影| 国产亚洲成av人在线观看导航| 欧美日本在线播放| 久久精品国产综合精品| 海角社区69精品视频| 99视频精品全部免费在线| 日韩中文字幕一区二区三区| 日本一区二区不卡视频| 日韩欧美国产一区二区三区| 在线精品国精品国产尤物884a| 99视频日韩| 欧美日韩一区综合| 99精品黄色片免费大全| 国产一区二区福利视频| 日韩成人午夜电影| 亚洲一区二区三区四区五区中文| 国产欧美视频一区二区三区| 欧美成人精品1314www| 精品污污网站免费看| 蘑菇福利视频一区播放| 亚洲欧洲日夜超级视频| 欧美性色综合| 国产精品av久久久久久麻豆网| 91丨porny丨在线| 成人精品视频一区二区三区| 国产一区二区三区四区在线观看| 日本美女视频一区二区| 亚洲成av人片一区二区梦乃| 亚洲猫色日本管| 亚洲日本va午夜在线电影| 国产精品午夜电影| 国产女主播在线一区二区| 久久久亚洲精华液精华液精华液| 91精品国产综合久久久蜜臀图片 | 日韩欧美激情四射| 欧美高清你懂得| 欧美日韩国产一级片| 欧美亚洲综合网| 一本色道久久综合狠狠躁的推荐| 国产精品久久久对白| 国产日韩免费| 亚洲视频导航| 免费日韩av片| 午夜一级久久| 亚洲欧美日韩在线观看a三区| 一本色道久久综合亚洲精品不卡| 91久久精品国产91久久性色tv| 国内自拍视频一区二区三区| 国产精品www994| 悠悠资源网久久精品| 伊人成人在线视频| 日韩午夜激情| 国产精品乱看| 亚洲在线黄色| 一本色道综合亚洲| 欧美亚男人的天堂| 欧美日本在线一区| 欧美一区二区高清| 精品国精品自拍自在线| 久久这里只有精品视频网| 久久精品人人爽人人爽| 欧美精品一区二区在线播放| 在线不卡一区二区| 日韩欧美亚洲国产精品字幕久久久| 日韩精品自拍偷拍| 久久色中文字幕| 欧美激情中文不卡| 亚洲乱码一区二区三区在线观看| 亚洲午夜久久久久久久久电影院 | 在线观看av一区二区| 欧美日韩精品久久久| 日韩一区二区三区av| 欧美精品一区二区精品网| 国产三级三级三级精品8ⅰ区| 国产精品蜜臀av| 一区二区三区影院| 免费看日韩精品| 国产成人av一区二区三区在线观看| 波多野结衣在线一区|