JS 如何監聽一個變量的變化


基於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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM