(四)JS學習筆記 模式 觀察者模式

2022-05-24 02:18:08 字數 832 閱讀 7376

理解觀察者模式

簡單的講,乙個物件作為特定任務或是另一物件的活動的觀察者,並且在這個任務或活動發生時,利用事件的形式通知觀察者。

觀察者的使用場合

當乙個物件的改變需要同時改變其它物件,並且它不知道具體有多少物件需要改變的時候,就應該考慮使用觀察者模式。

模擬實現

定義observable物件,其內部包含了2個方法:add

(訂閱)與

fire

(發布)方法

//

觀察者var observable =,

fire:

function

() )

}}

訂閱

1 observable.add(function

() )

4 observable.add(function

() )

發布

observable.fire();     //

1, 2

實際應用

實際業務中,如請求某個ajax後需要執行多個方法,資料處理、渲染頁面、其他業務等,可以使用觀察者

1 observable.add(function

() )

45 observable.add(function

() )

1011 observable.add(function

() )

1415

$.ajax().done(function

(data) )

Js 觀察者模式

function eventtarget eventtarget.prototype this.handlers type push handler fire function event if this.handlers event.type instanceof array removehand...

JS 觀察者模式

被觀察者 function observed 將observer註冊到observed上 observed.prototype.attach function s 產生新狀態 observed.prototype.setstate function newstate 觀察者 function obs...

js 觀察者模式

觀察者模式定義一種一對多的關係,多個觀察者訂閱乙個主題物件,當主題物件發生改變的時候通知所有觀察者,使他們能實現更新。具體實現方式 定義乙個被觀察物件,定義乙個主題陣列,觀察者訂閱主題通過往陣列物件內新增 函式來實現,當主題發生改變時輪流呼叫 函式。var subpub this.topics to...