在JavaScript中,可以通过使用`Object.defineProperty`方法来监听对象属性的变化。
复制
示例代码如下:
let obj = { A: 1 }; function B() { console.log('Function B is called'); } Object.defineProperty(obj, 'A', { get: function() { return this._A; }, set: function(value) { this._A = value; B(); } }); obj.A = 2; // 输出:Function B is called
复制
在上面的示例代码中,我们定义了一个对象obj
,并使用Object.defineProperty
方法来监听obj
对象的属性A
的变化。当A
属性发生改变时,会自动调用函数B
。
请注意,在这个示例中,我们将A
属性的值保存在了_A
属性中。这样做是为了防止在set方法中调用this.A
时造成无限循环调用。