繁体   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