zoukankan      html  css  js  c++  java
  • addEvent和removeEvent优化写法

    ;(function(){
        /**
         * 初始化分支是一种优化模式,当知道某个条件在整个生命周期内都不会发生变化时,仅对该条件测试一次。
         */
        
        // 一般写法
        var util = {
            addEvent: function(el, type, fn) {
                if(window.addEventListener{
                    el.addEventListener(type, fn, false)
                }else if(document.attachEvent) {
                    el.attachEvent('on' + type, fn);
                }else{
                    el['on' + type] = fn;
                }
            },
            removeEvent: function() {
                // 类似addEvent
            }
        }
    
        // 优化写法。先定义接口,再实现借口,达到了只需验证一次的目的
        var util = {
            addEvent: null,
            removeEvent: null
        };
        if(window.addEventListener) {
            util.addEvent = function(el, type, fn) {
                el.addEventListener(type, fn, false)
            };
            util.removeEvent = function(el, type, fn) {
                el.removeEventListener(type, fn, false)
            }
        } else if(document.attachEvent) {
            util.addEvent = function(el, type, fn) {
                el.attachEvent('on' + type, fn)
            };
            util.removeEvent = function(el, type, fn) {
                el.detachEvent('on' + type, fn)
            }
        } else {
            util.addEvent = function(el, type, fn) {
                el['on' + type] = fn;
            };
            util.removeEvent = function(el, type, fn) {
                el['on' + type] = null;
            }
        }
    }());
  • 相关阅读:
    LVM 逻辑卷管理
    运维自动化工具 Kickstart
    运维自动化工具 Cobbler
    Python 环境
    Zabbix Agent 自动、主动注册
    Zabbix Proxy 分布式监控
    PHP 性能优化之 PHP-FPM
    PHP 缓存插件之 Zend Opcache ( 取代 APC )
    Alternative PHP Cache ( APC )
    Tomcat ( 单机多 Tomcat 并存 )
  • 原文地址:https://www.cnblogs.com/qianduanjingying/p/5531913.html
Copyright © 2011-2022 走看看