javascript設計模式---觀察者模式

概念

觀察者模式是一個一對多的關係,讓多個觀察者同時監聽一個對象,當這個對象發生了變化時,它會廣播給監聽它的觀察者。使他們自動更新。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>
相關文章
相關標籤/搜索