Javascript可以給一個(gè)變量綁定回調(diào)函數(shù)嗎?
即:當(dāng)這個(gè)變量的值變化,觸發(fā)回調(diào)函數(shù),執(zhí)行回調(diào)函數(shù)內(nèi)的內(nèi)容。
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
var test = {
_age : 0,
methods:function(a)
{
console.log("發(fā)生變化了值為:"+a);
},
//_Age的讀寫
set age(age) {
if(age!=this._age)
{
this.methods(age);
this._age = age;
}},
get age() {return this._age;}
};
可以利用對象的set和get方法來執(zhí)行想要的結(jié)果
不能直接實(shí)現(xiàn)。
但是可以通過其他方式實(shí)現(xiàn)。
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');
// 將你需要的變量設(shè)為obj的一個(gè)屬性
// 更改變量用obj.set()這個(gè)方法
js的set/get
你可以在set方法里面添加你的邏輯代碼,這樣每次修改的時(shí)候就會觸發(fā)你的代碼