开发时难免会有要监测某个数据的值变化情况的需求。使用C++配上Visual Studio就可以轻易地下个数据断点,当对应的变量的值被修改时,调试器就会在当前位置命中断点。
在JavaScript中也可以实现类似的需求。
var o = {
foo: 1
};
Object.defineProperty(o , "foo", {
set: function(value) {
if (value === 0) {
debugger;
}
}
});
当对象o的foo值被改变时,默认会调用set函数,当foo值要被设置成0的时候,则会进入if分支,触发debugger
debugger会引起调试工具在当前代码中断(使用的chrome开发者工具)
以上就实现了JavaScript数据断点调试的功能