搜索

首页  >  问答  >  正文

javascript - 如何对一个变量绑定回调函数

Javascript可以给一个变量绑定回调函数吗?
即:当这个变量的值变化,触发回调函数,执行回调函数内的内容。

高洛峰高洛峰2748 天前935

全部回复(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
  • 取消回复