JavaScript监听某个变量
时间: 2024-01-05 18:15:15 浏览: 62
可以使用Object.defineProperty()方法来监听某个变量的变化。
例如,我们有一个对象person,其中有一个属性name:
```javascript
let person = {
name: "John"
};
```
我们想要在name属性发生变化时做出响应,可以使用Object.defineProperty()方法来定义一个getter和setter:
```javascript
let person = {
_name: "John",
get name() {
return this._name;
},
set name(value) {
console.log(`Changing name from ${this._name} to ${value}`);
this._name = value;
}
};
person.name = "Mike"; // 输出 "Changing name from John to Mike"
```
在上面的例子中,我们使用了一个下划线前缀来表示name属性的内部实现,然后使用getter和setter来访问它。当我们修改name属性时,setter会被调用,并输出消息。
阅读全文