基于get 和 set
var a = { watchValue:0 };var lastTimeValue=a.watchValue;Object.defineProperty(a, ‘watchValue‘, { ?get: function() { ???console.log(‘get:‘ + watchValue); ???return watchValue; ?}, ?set: function(value) { ???watchValue = value; ???if(lastTimeValue!=watchValue){ ???????lastTimeValue=watchValue; ???????console.log(‘value changed!! set: ‘ + watchValue); ???} ?}});
结果如下:
a.watchValue = 2; // value changed!! set: 2
console.log(a.watchValue);// get:2
JS 如何监听一个变量的变化
原文地址:https://www.cnblogs.com/jimaww/p/9719634.html