let data = { username : "carry", age : 33 } // 数据代理对象,Vue小程序React都是数据代理的方式实现的 let _data = { } for(let item in data){ Object.defineProperty(_data,item,{ // 获取属性值的时候调用该方法 get(){ return data[item]; }, set(newValue){ // set方法不能修改属性值,会死循环 data[item] = newValue; } }); }
let data = {
username : "carry",
age : 33
}
// 数据代理对象,Vue小程序React都是数据代理的方式实现的
let _data = {
}
for(let item in data){
Object.defineProperty(_data,item,{
// 获取属性值的时候调用该方法
get(){
return data[item];
},
set(newValue){
// set方法不能修改属性值,会死循环
data[item] = newValue;
}
});
}
EcmaScript6前端经典数据代理的实现通过Object.defineProperty-----EcmaScript6
于 2024-04-09 12:28:04 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)