gpt4 book ai didi

Javascript 知道对象值何时被修改

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:06 26 4
gpt4 key购买 nike

对于任何变量或其属性,有没有办法知道它的值何时设置?

例如,假设我有:

let x = { 'a': 1, 'b': 2 };
// x.a's set operation is linked to a method
x.a = 3; // the method is automatically called

当 a 的值改变时,有没有办法调用函数?许多代码会改变这个值;我不想到处添加方法调用。

我知道代理,但使用它们似乎需要一个单独的变量。意思是,x 不能是它自己的代理。

此技术最好适用于原始和非原始。

最佳答案

x can't be a proxy of itself

当然可以。您可以通过简单地更改变量以指向代理

x = new Proxy(x, handler)

原始示例:

const handler = {
set: function(obj, prop, value) {
console.log('setting prop: ', prop, ' to ', value)
obj[prop] = value;
return true;
}
};

let x = { 'a': 1, 'b': 2 };

x = new Proxy(x, handler);

x.a = 3; // the method is automatically called

关于Javascript 知道对象值何时被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55388838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com