[英]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.