zoukankan      html  css  js  c++  java
  • 4.js模式-发布-订阅模式

    1. 发布-订阅模式

    var observe = (function(){

          var events = {},

                 listen,

                 trigger,

                 remmove;

         

          listen = function(key,fn){

                 if(!events[key]){

                        events[key] = [];

                 }

                

                 events[key].push(fn);

          };

         

          trigger = function(){

                 var key = Array.prototype.shift.call(arguments);

                 var fns = events[key];

                 if(!fns || fns.length === 0){

                        return false;

                 }

                

                 for(var i=0,fn;fn=fns[i++];){

                        fn.apply(this,arguments);

                 }

          };

         

          remove = function(key,fn){

                 var fns = events[key];

                 if(!fns){

                        return false;

                 }

                 if(!fn){

                        fns && (fns.length=0);

                 }else{

                        for(var l =fns.length -1;l>=0;l--){

                               var _fn = fns[l];

                               if(_fn===fn){

                                      fns.splice(l,1);

                               }

                        }

                 }

          };

         

          return {

                 listen:listen,

                 trigger:trigger,

                 remove:remove

          }

    })();

    • observe.listen('xx',function(price){

          console.log(price);

    });

    observe.trigger('xx',2000);

  • 相关阅读:
    如何将程序添加到系统服务实现开机自启动
    ASP.NET速度优化
    layer官方演示与讲解(jQuery弹出层插件)
    SQLSERVER排查CPU占用高的情况
    解决FlexPaper分页分段加载问题(转)
    SQL 2008升级SQL 2008 R2完全教程或者10.00.1600升级10.50.1600
    Virtualbox中win7虚拟机中U盘不可用问题的解决
    解决:对COM 组件的调用返回了错误 HRESULT E_FAIL
    google chrome插件开发,自己动手,丰衣足食
    WebKit.net最简单使用方法
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4869713.html
Copyright © 2011-2022 走看看