//被觀察者
function observed ()
//將observer註冊到observed上
observed.prototype.attach = function (s)
//產生新狀態
observed.prototype.setstate = function (newstate)
//觀察者
function observer (name,target)
//提供乙個更新方法,當被觀察者的資料發生變化時,需要執行觀察者的 update 方法
observer.prototype.update = function (newstate)
let o = new observed();
let s1 = new observer('s1',o);
let s2 = new observer('s2',o);
o.attach(s1);
o.attach(s2);
o.setstate('開興');
//s1監控到了寶寶的開興
//s2監控到了寶寶的開興
o.setstate('不開興');
//s1監控到了寶寶的不開興
//s2監控到了寶寶的不開興
Js 觀察者模式
function eventtarget eventtarget.prototype this.handlers type push handler fire function event if this.handlers event.type instanceof array removehand...
js 觀察者模式
觀察者模式定義一種一對多的關係,多個觀察者訂閱乙個主題物件,當主題物件發生改變的時候通知所有觀察者,使他們能實現更新。具體實現方式 定義乙個被觀察物件,定義乙個主題陣列,觀察者訂閱主題通過往陣列物件內新增 函式來實現,當主題發生改變時輪流呼叫 函式。var subpub this.topics to...
JS設計模式 觀察者模式
又來更新了,昨天學了白賀翔老師的觀察者模式,分享一下,直接看 doctype html en utf 8 viewport content width device width,initial scale 1.0 document title commonutil.js script head ut...