• JavaScript设计模式与开发实践:惰性函数


    Web开发中,因为浏览器之间的差异实现差异,一些嗅探工作总是不可避免的,比如我们需要在各个浏览器中能够通用事件绑定函数addEvent

    //一般写法
    //缺点:当他每次被调用的时候都都会执行里面的if条件,
    var addEvent = function(elem, type, handler){
        if(window.addEventLister){
            return elem.addEventListener(type, handler, false);
        }
        if(window.attachEvent){
            return elem.attachEvent('on'+type, handler);
        }
    }
    
    //改进
    
    var addEvent = (function(){
        if(window.addEventListener){
            return function(elem, type, handler){
                elem.addEventListener(type, handler, false);
            }
        }
        if(window.attachEvent){
            return function(elem, type, handler){
                elem.atttachEvent('on'+handler);
            }
        }
    })();
    
    //惰性载入方案
    
    var addEvent = function(elem, type, handler){
        if(window.addEventListener){
            addEvent = function(elem, type, handler){
                elem.addEventListener(type, handler, false);
            }
        } else if(window.atttachEvent){
            addEvent = function(elem, type, handler){
                elem.atttachEvent('on'+type, handler);
            }
        }
    
        addEvent(elem, type, handler);
    };
  • 相关阅读:
    python之访问限制机制
    python之property装饰器
    python之封装、组合
    python中classmethod和staticmethod
    (专题一)01 matlab基础
    代数运算
    点运算
    研究生学习安排2019/6/6
    图像处理中创建CDib类时无法选择基类类型时怎么办
    04 学习java养成良好的写作习惯
  • 原文地址:https://www.cnblogs.com/jogen/p/5172444.html
Copyright © 2020-2023  润新知