可以通过使用Proxy来监听布尔值A的变化,并在A变成true时调用函数B。下面是一个示例代码:
复制
// 创建一个具有布尔值属性的对象 let target = { A: false }; // 创建一个Proxy实例,用于监听属性变化 let handler = { set: function(target, key, value) { if (key === 'A' && value === true) { B(); } target[key] = value; return true; } }; let proxy = new Proxy(target, handler); // 定义一个函数B,在属性A变为true时被调用 function B() { console.log('Function B is called'); } // 测试:修改属性A为true proxy.A = true; // 输出:Function B is called
复制
在上面的代码中,我们创建了一个对象target,它具有一个布尔值属性A。然后我们使用Proxy来监听target对象的属性变化,在属性A的值变成true时调用函数B。最后,我们测试了修改属性A为true的情况,从而触发了调用函数B。