Maison > Questions et réponses > le corps du texte
Javascript peut-il lier une fonction de rappel à une variable ?
C'est-à-dire : lorsque la valeur de cette variable change, la fonction de rappel est déclenchée et le contenu de la fonction de rappel est exécuté.
迷茫2017-06-26 10:55:29
var test = {
_age : 0,
methods:function(a)
{
console.log("发生变化了值为:"+a);
},
//_Age lecture et écriture
set age(age) {
if(age!=this._age)
{
this.methods(age);
this._age = age;
}},
get age() {return this._age;}
};
Vous pouvez utiliser les méthodes set et get de l'objet pour obtenir les résultats souhaités
黄舟2017-06-26 10:55:29
Ne peut pas être implémenté directement.
Mais cela peut être réalisé par d’autres moyens.
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()这个方法
淡淡烟草味2017-06-26 10:55:29
js set/get
Vous pouvez ajouter votre code logique dans la méthode set, afin que votre code soit déclenché à chaque fois qu'il est modifié