• Action 分离


    原文地址:http://www.cnblogs.com/giggle/p/5380832.html?utm_source=tuicool&utm_medium=referral 

    本处摘要备注。。。私人备注。 

    var EventTarget = function(){
        this.listener = {};
    }
    EventTarget.prototype = {
        constructor:EventTarget,
        addAction: function(actionName, fn){
            if(typeof actionName === 'string' && typeof fn === 'function'){
                //如果不存在actionName,就新建一个
                if(typeof this.listener[actionName] === 'undefined'){
                    this.listener[actionName] = [fn];
                }
                //否则,直接往相应actinoName里面塞
                else{
                    this.listener[actionName].push(fn);
                }
            }
        },
        trigger: function(actionName){
            var actionArray = this.listener[actionName];
            //触发一系列actionName里的函数
            if(actionArray instanceof Array){
                for(var i = 0, len = actionArray.length; i < len; i++){
                    if(typeof actionArray[i] === 'function'){
                        actionArray[i]();
                    }
                }   
            }
            actionArray = null;
        },
        remove: function(actionName, fn){
            var actionArray = this.listener[actionName];
            if(typeof actionName === 'string' && actionArray instanceof Array){
                if(typeof fn === 'function'){
                    //清除actionName中对应的fn方法
                    for(var i=0, len = actionArray.length; i < len; i++){
                        if(actionArray[i] === fn){
                            this.listener[actionName].splice(i,1);
                        }
                    }
                }
            }
            actionArray = null;
        }
    };

  • 相关阅读:
    Know more about RAC statistics and wait event
    再谈指针
    Manageing Undo Data
    SQL基础内容
    JavaScript高级程序设计(3版)笔记分享( ES5特性)
    HTML5布局篇( 总结 )
    温习 SQL 01(Z)
    Makefile
    SQLPLUS工具简介
    链接相关 & 预处理
  • 原文地址:https://www.cnblogs.com/shidengyun/p/5385560.html
Copyright © 2020-2023  润新知