观察者模式是一个一对多的关系,让多个观察者同时监听一个对象,当这个对象发生了变化时,它会广播给监听它的观察者。使他们自动更新。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>