国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Chrome 控制臺 如何調試 javascript

codecraft / 656人閱讀

摘要:當我們在調試的時候,右側里面會顯示當前作用域以及他的父級作用域,以及閉包。最后介紹一下一個神器,很好用的如果你自己寫的代碼,你執行的時候想讓它在某一處停下來,只要寫上的就好了,不信你試試哈哈

轉自 http://www.cnblogs.com/ctriphire/p/4117370.html

下面簡單介紹一下如何利用好chrome控制臺這個神器好好調試javascript代碼

先說一下源碼定位

大家打開測試網頁? ?看到頁面右下方有一個推薦的圖標嗎?右擊推薦圖標,選擇審查元素,打開谷歌控制臺,如下圖所示

我們現在想知道votePost方法到底在哪?跟著我這樣做,在Console面板里面輸入votePost然后回車

直接點擊上圖標紅的鏈接,控制臺將定位到Sources面板中,展示如下圖所示

大家看了上面這個圖片之后估計頭都要暈了吧,這么多js都整在一行,讓人怎么看呀,不用擔心,按下圖操作即可(也就是點擊中間面板左下方的Pretty print就行了)

這時我們再回到Console面板時會驚奇的發現原來的鏈接后面的1現在變成91了(其實這里的數字1或者91就是代表votePost方法在源碼中的行號 )現在看出Pretty print按鈕的強大之處了吧

知道了怎么樣查看某一個按鈕的源碼,那接下來的工作便是調試了,調試第一步需要做的便是設置斷點,其實設置斷點很簡單,點擊一下上圖所示的92即可,這時你會發現92行號旁邊會多了一個圖標,這里解釋一下為什么不在91處設置斷點,你可以試下,事實上根本就沒法在91處上設置斷點,因為它是函數的定義處,所以沒法在此設置斷點。

設置好了斷點后,你就會在右邊Breakpoints方框里看到剛剛設置的斷點。

我們先來介紹一下用到的調試快捷鍵吧(事實上我們也可以不用下表所示的快捷鍵,直接點擊上圖所示右側欄最上層的一排按鈕來進行調試,具體用哪個按鈕,把鼠標放到按鈕上方一會就會顯示它相應的提示)

快捷鍵 功能
F8 恢復運行
F10 步過,遇到自定義函數也當成一個語句執行,而不會進入函數內部
F11 步入,遇到自定義函數就跟入到函數內部
Shift + F11 步出,跳出當前自定義函數

其中值得一提的是,當我們點擊“推薦”按鈕進行調試的時候會發現,不管我們是按的F10進行調試還是按F11進行逐步調試,都沒法進行$.ajax函數內部,即使我們在函數內部設置了斷點也沒有辦法進入,這里按F8才是真正起效果的,不信你試試。

當我們在調試的時候,右側Scope Variables里面會顯示當前作用域以及他的父級作用域,以及閉包。你不僅能在右側 Scope Variables(變量作用域) 一欄處看到當前變量,而且還能把鼠標直接移到任意變量上,就可以查看該變量的值。

用圖說話(哈哈)

剛剛我們介紹的只是在html里面能夠看得到它綁定了onclick事件,這樣我們就找到它綁定的js函數,如果它是在jQuery頁面加載完成函數里面綁定的,這時候我們怎么知道它綁定的是哪個js函數呢,如果我們不知道綁定的js函數就更加不用說調試進去了

下面介紹一下如何查看,還是以剛剛那個測試網頁為例子吧,但是這次我們來看“提交評論”作說明吧,

右擊“提交評論”-->審核元素,我們可以清楚的看到在這個按鈕上未綁定任何事件。在Console面板內輸入如下代碼

function lookEvents (elem) {
    return $.data ? $.data( elem, "events", undefined, true ) : $._data( elem, "events" );
}
var event = lookEvents($("#btn_comment_submit")[0]); // 獲取綁定的事件

如下圖所示:

按照上述介紹的方法定位到具體的blog-common.js里面,找到postComment ?然后一層層的找到具體的代碼,再設置斷點就好了。

最后介紹一下一個神器,很好用的debugger

如果你自己寫的代碼,你執行的時候想讓它在某一處停下來,只要寫上的debugger就好了,不信你試試!哈哈

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/92320.html

相關文章

  • [譯]14個你可能不知道的JavaScript調試技巧

    摘要:在控制臺中使用,當到達傳入的函數時,代碼將停止。但除了私有和匿名函數這可能是找到調試函數的最快方法。在控制臺中輸入,當調用時,將以調試模式停止屏蔽不相關代碼現在,我們經常在應用中引入幾個庫或框架。 譯者:SlaneYang原文:https://raygun.com/javascript-debugging-tips 以更快的速度和更高的效率來調試JavaScript 熟悉工具可以讓工具...

    CODING 評論0 收藏0
  • 你不知道的Chrome DevTools(4):推薦幾款DevTools插件

    摘要:下面推薦幾款插件,有些是博主親自試用過的,希望對大家的開發調試有幫助。這有點類似前面說過的插件。類似的針對不同框架的調試工具還有最后介紹的不是的插件,而是主題。總結好的,這次的插件就推薦了這幾個。 Web前端開發過程中必然會用到Chrome瀏覽器自帶的開發者工具Chrome DevTools,使用它作為Web前端開發性能調試的必備工具。就連隔壁的產品小哥都知道打開F12改一下頁面元素的...

    svtter 評論0 收藏0
  • JavaScript編程簡介:DOM、AJAX與Chrome調試器-天碼營

    摘要:所有全局對象函數以及變量均自動成為對象的成員。消息彈出窗口對象使用簡單方便,但因其交互方式生硬,通常只用于調試。可以在中創建三種消息框警告框確認框提示框。習慣上,通過選擇符得到的集合一般命名為以起始的字符串,例如。 avascript 等于 ECMAScript + 宿主環境。宿主環境提供了一系列的全局對象,例如Node.js提供的require, console等;瀏覽器提供的DOM...

    KoreyLee 評論0 收藏0

發表評論

0條評論

codecraft

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<