javascript - 如何對一個變量綁定回調函數
問題描述
Javascript可以給一個變量綁定回調函數嗎?即:當這個變量的值變化,觸發回調函數,執行回調函數內的內容。
問題解答
回答1: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方法來執行想要的結果
回答2:不能直接實現。但是可以通過其他方式實現。
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()這個方法回答3:
js的set/get你可以在set方法里面添加你的邏輯代碼,這樣每次修改的時候就會觸發你的代碼
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. javascript - QWebEngineView 如何爬 angular 的動態數據?3. javascript - 使用angular 的ui-sref 中出現了中文參數,點擊跳轉后瀏覽器的地址欄里出現轉義后的%AE....%a%44. java - ConcurrentHashMap中的get()方法為什么可以不加鎖?5. java - 郵箱如何發送html內容6. html5 - 這個代碼顯示功能如何實現?7. javascript - 用JS 七牛上傳圖片出現文件已存在的錯誤(file exists)8. java - 字節流轉成字符串之后,在通過字符串轉成字節流后的文件為什么會不一樣?9. css3 - 圖片等比例縮放10. java - 一段遞歸代碼的問題
