javascript - 如何對一個(gè)變量綁定回調(diào)函數(shù)
問題描述
Javascript可以給一個(gè)變量綁定回調(diào)函數(shù)嗎?即:當(dāng)這個(gè)變量的值變化,觸發(fā)回調(diào)函數(shù),執(zhí)行回調(diào)函數(shù)內(nèi)的內(nèi)容。
問題解答
回答1: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é)果
回答2:不能直接實(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è)方法回答3:
js的set/get你可以在set方法里面添加你的邏輯代碼,這樣每次修改的時(shí)候就會(huì)觸發(fā)你的代碼
相關(guān)文章:
1. angular.js - webpack build后的angularjs路由跳轉(zhuǎn)問題2. java - Activity中的成員變量被賦值之后,Activity被回收的時(shí)候內(nèi)存才會(huì)被釋放嗎3. java - web項(xiàng)目中,用戶登陸信息存儲(chǔ)在session中好 還是cookie中好,取決于什么?4. php由5.3升級到5.6后,登錄網(wǎng)站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?5. 數(shù)組按鍵值封裝!6. 我寫的哪里有錯(cuò)?請大神幫忙查看一下。7. tp5.0,param獲取全部參數(shù)8. 使用list和each配合,的作業(yè),輸出一行后,如何換行9. 老師,flex-shrink: 1; 按視頻操作,不會(huì)自動(dòng)縮放10. 為什么 必須在<ul> 下建立 <li> 在建<a>?
