<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Object.defineProperty 监听对象的值</title>
<script>
var obj = {};
var initValue = 'hello';
Object.defineProperty(obj, "newKey", {
get:function (){
// 当获取值的时候触发的函数
return initValue;
},
set:function (value){
// 当设置值的时候触发的函数,设置的新值通过参数value拿到
initValue = value;
alert("只要obj.newKey发生了变化就会弹窗:" + initValue);
}
});
// 获取值
console.log(obj.newKey); //hello
// 设置值之后再获取
obj.newKey = 'Hello world';
console.log(obj.newKey); //Hello world
setTimeout(function(){
obj.newKey = 'Hello world 666';
},2000);
</script>
</head>
<body>
</body>
</html>
猜你喜欢
最新发布
github访问慢解决方法
2024-11-10 13:52:54
我TM终于找到工作了
2024-06-02 14:48:43
我TM服务器又被攻击了
2024-04-12 19:28:34
Jenkins使用http方式配置github项目
2024-03-19 18:10:08
CentOS安装Jenkins服务
2024-03-18 17:23:08
终于特喵的帮朋友把微信小程序第一阶段做完了
2024-03-03 19:21:25
2023年终总结
2023-12-20 21:30:52
CentOS7 安装Node.js v14
2023-11-16 09:57:36
npm 安装依赖报错 npm ERR | gyp verb
2023-08-23 15:08:39
electron-builder + vue 搭建桌面应用
2023-06-08 10:54:28