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網絡端口映射,沒有方便點的操作方法么?2. debian - docker依賴的aufs-tools源碼哪里可以找到啊?3. docker api 開發的端口怎么獲取?4. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””5. docker容器呢SSH為什么連不通呢?6. python - from ..xxxx import xxxx到底是什么意思呢?7. nignx - docker內nginx 80端口被占用8. javascript - 移動端,當出現遮罩層的時候,遮罩層里有div是超出高度scroll的,怎么避免滑動div的時候,body跟隨滑動?9. ddos - apache日志很多其它網址,什么情況?10. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應
