现在正在完成一些事件路由,并且有很多调试步骤。
我知道在javascript中使用“debugger”并将其放在条件之后,这很有用。 我也知道右键单击一个断点来添加一个更好的测试表达式。 但是......我不知道这件事会带给我什么,我开始磨损我的功能键。有没有办法在监视表达式中添加断点?
基本上这个想法是这样的,在封装范围内,我想检查一个名为“this.id”的变量。如果this.id是我想要的值,我进入调试器。
有什么想法吗?
由于
想要补充说下面的迪迪埃的答案解决了我们在装饰“功能”的文章中概述的问题。这很可能是搜索我想要的所有函数的阻力最小的路径。
Function.prototype.debug = function(){
var fn = this;
return function(){
if (debugme) debugger;
return fn.apply(this, arguments);
};
};
答案 0 :(得分:4)
如果您指的是" 条件断点",也就是说只有在语句为真时才暂停执行的断点,您可以通过右键单击来执行此操作在一行脚本上,选择"编辑断点条件...",然后添加你想要触发断点的语句,例如 this.id ===" foo& #34 ;; 强>
答案 1 :(得分:4)
要以编程方式中断javascript代码,您可以使用以下语句:
debugger;
这适用于Firebug,Chrome的控制台和IE。
因此,根据您的问题,您可以执行以下操作:
if (this.id === "myId")
debugger;
以下article非常有用。
答案 2 :(得分:1)
我不是100%清楚你需要什么与条件断点不同。例如加入
var watchVar = this.id
然后设置
断点的条件watchVar == someInt
应该有效,不是吗?
如果没有,您可以通过在闭包中的某处放置一个正常断点来打破属性更改。当你点击它时,在监视窗格中查找this.id,右键单击它并选择“中断属性更改”。目前,这是你可以去的,但它不允许你指定一些id值而不是其他。