Object.defineProperty 数据双向绑定
程序员文章站
2022-07-12 22:49:01
...
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input type="text" id="model"><br/>
<div id="modelText"></div>
<script>
let obj = {};
let name = '张三';
Object.defineProperty(obj,"name",{
get:function (){
//当获取值的时候触发的函数
console.log('get')
return name ;
},
set:function (value){
console.log('set')
//当设置值的时候触发的函数,设置的新值通过参数value拿到
name = value;
}
});
console.log(obj.name)//张三,
// obj.name是获取值,会走get函数
obj.name = "李四" // 这时是赋值,会走set函数,
console.log(obj.name) //李四
</script>
</body>
</html>