小编典典

属性更改断点

all

Firebug for Firefox 有一个很好的功能,称为“属性更改中断”,我可以在其中标记任何对象的任何属性,它会在更改之前停止 JavaScript
执行。

我正在尝试在 Google Chrome 中实现相同的功能,但在 Chrome 调试器中找不到该功能。如何在 Google Chrome 中执行此操作?


阅读 88

收藏
2022-09-02

共1个答案

小编典典

如果您不介意弄乱源代码,则可以使用访问器重新定义该属性。

// 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;
    }
});
2022-09-02