觀察者模式是一個一對多的關係,讓多個觀察者同時監聽一個對象,當這個對象發生了變化時,它會廣播給監聽它的觀察者。使他們自動更新。javascript
1.支持簡單的廣播通訊,自動通知全部的監聽者。
2.當頁面載入後,被觀察對象很容易與觀察者有一種動態關聯的關係,來增長靈活性。
3.被觀察對象,與觀察者之間的抽象耦合關係可以單獨的擴展和重用。html
要先監聽,而後在發佈通知。java
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> </head> <body> <script type="text/javascript"> ~(function() { var o = $({}); $.jianting = function() { o.on.apply(o, arguments); } $.tongzhi = function() { o.trigger.apply(o, arguments); } $.shanchu = function() { o.off.apply(o, arguments); } })() $.jianting("頻道", function(e, a, b) { alert(a + b) }) $.jianting("頻道", function(e, a, b) { alert(a - b) }) setTimeout(function() { $.tongzhi("頻道", [1, 2]); }, 1000) </script> </body> </html>