Firebug for Firefox 有一个很好的功能,称为“属性更改中断”,我可以在其中标记任何对象的任何属性,它会在更改之前停止 JavaScript 执行。
我正在尝试在 Google Chrome 中实现相同的功能,但在 Chrome 调试器中找不到该功能。如何在 Google Chrome 中执行此操作?
如果您不介意弄乱源代码,则可以使用访问器重新定义该属性。
// original object var obj = { someProp: 10 }; // save in another property obj._someProp = obj.someProp; // overwrite with accessor Object.defineProperty(obj, 'someProp', { get: function () { return obj._someProp; }, set: function (value) { debugger; // sets breakpoint obj._someProp = value; } });