搜尋

首頁  >  問答  >  主體

javascript - 如何對一個變數綁定回呼函數

Javascript可以給一個變數綁定回呼函數嗎?
即:當這個變數的值變化,觸發回呼函數,執行回呼函數內的內容。

高洛峰高洛峰2816 天前981

全部回覆(3)我來回復

  • 迷茫

    迷茫2017-06-26 10:55:29

    var test = {
    _age : 0,
    methods:function(a)
    {

    console.log("发生变化了值为:"+a);

    },
    //_Age的讀寫
    set age(age) {

    if(age!=this._age)
    {
        this.methods(age);
        this._age = age;
    }}, 

    get age() {return this._age;}
    };
    可以利用物件的set和get方法來執行想要的結果

    回覆
    0
  • 黄舟

    黄舟2017-06-26 10:55:29

    不能直接實現。
    但是可以透過其他方式實現。

    var obj = {
            set: function (key, value) {
                if(['set', 'change'].indexOf(key) > -1) return;
    
                this[key] = value;
    
                this.change();
            },
    
        };
    
        obj.change = function(){
            alert(1)
            console.log(this);
        }
    
        obj.set('name', 'segmentfault');
        
         // 将你需要的变量设为obj的一个属性
         // 更改变量用obj.set()这个方法

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-26 10:55:29

    js的set/get
    你可以在set方法裡面加入你的邏輯程式碼,這樣每次修改的時候就會觸發你的程式碼

    回覆
    0
  • 取消回覆