Javascript 检查某类对象的值是否已更改
我需要检查一个对象的元素是否被改变,并根据它改变另一个值 例如:Javascript 检查某类对象的值是否已更改,javascript,html,css,node.js,Javascript,Html,Css,Node.js,我需要检查一个对象的元素是否被改变,并根据它改变另一个值 例如: class-myClass{ 构造函数(值1、值2){ this.value1=value1 this.value2=value2 此参数的值={ value1:this.value1, value2:这个 } } } var myObject=新的myClass(2,4) 日志(myObject.value1,myObject.values) myObject.value1++//ou myObject.value1=3 //
class-myClass{
构造函数(值1、值2){
this.value1=value1
this.value2=value2
此参数的值={
value1:this.value1,
value2:这个
}
}
}
var myObject=新的myClass(2,4)
日志(myObject.value1,myObject.values)
myObject.value1++//ou myObject.value1=3
//应为日志3{“value1”:3,“value2”:4}
console.log(myObject.value1,myObject.values)
MakemyClass
实例成为真理的单一来源
class-myClass{
构造函数(值1、值2){
this.value1=value1
this.value2=value2
const container=this;
此参数的值={
获取值1(){
返回容器。值1
},
获取值2(){
返回容器1.2
}
}
}
}
var myObject=新的myClass(2,4)
日志(myObject.value1,myObject.values)
myObject.value1++//ou myObject.value1=3
//应为日志3{“value1”:3,“value2”:4}
console.log(myObject.value1,myObject.values)
如果要动态处理对象的所有属性,则可以使用代理,而不是单独的setter和getter
class-myClass{
构造函数(值1、值2){
this.value1=value1
this.value2=value2
此参数的值={
value1:this.value1,
value2:这个
}
}
}
var myObject=新的myClass(2,4);
var proxied=新代理(myObject{
获得(目标、道具){
返回Reflect.get(prop==“values”?target:target.values,prop);
},
设定(目标、道具、价值){
返回Reflect.set(prop==“values”?目标:target.values,prop,value);
}
});
proxied.value1++//ou myObject.value1=3
proxied.value2=1000;
console.log(“代理”,代理)代码>哦,我刚刚尝试使用获取值1(){return this.value1}
,我没有想过使用变量作为this
。这太简单了。谢谢@LuísHNriquegetter中的this
将是值
对象,因此调用this.value1
基本上会导致堆栈溢出:)