簡體   English   中英

Javascript使用Firebug觀察基於表達式的斷點?

[英]Javascript watch expression based breakpoints with Firebug?

現在正在完成一些事件路由,並且有很多調試步驟。

我知道在javascript中使用“調試器”並將其放在條件之后,這很有用。 我也知道右鍵單擊一個斷點來添加一個更好的測試表達式。 但是......我不知道這件事會帶給我什么,我開始磨損我的功能鍵。 有沒有辦法在監視表達式中添加斷點?

基本上這個想法是這樣的,在封裝范圍內,我想檢查一個名為“this.id”的變量。 如果this.id是我想要的值,我進入調試器。

有任何想法嗎?

謝謝

想要補充說下面的迪迪埃的答案解決了我們在裝飾“功能”的文章中概述的問題。 這很可能是搜索我想要的所有函數的阻力最小的路徑。

Function.prototype.debug = function(){   
   var fn = this; 
   return function(){     
       if (debugme) debugger; 
       return fn.apply(this, arguments);     
   }; 
};

如果您指的是“ 條件斷點 ”,也就是說只有在語句為真時才暫停執行的斷點,您可以通過右鍵單擊一行腳本並選擇“編輯斷點條件...”來執行此操作。 ,然后添加你想要觸發斷點的語句,例如this.id ===“foo”;

要以編程方式中斷javascript代碼,可以使用以下語句:

debugger;

這適用於Firebug,Chrome的控制台和IE。

因此,按照您的問題,您可以執行以下操作:

if (this.id === "myId")
    debugger;

以下文章非常有用。

我不是100%清楚你需要什么與條件斷點不同。 例如,添加

 var watchVar = this.id

然后設置斷點的條件

watchVar == someInt 

應該工作,不是嗎?

如果沒有,您可以通過在閉包中的某處放置一個普通斷點來打破屬性更改。 當你點擊它時,在監視窗格中查找this.id,右鍵單擊它並選擇“中斷屬性更改”。 目前,這是你可以去的,但它不允許你指定一些id值而不是其他值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM