zoukankan      html  css  js  c++  java
  • 函数的延迟加载

    //非延迟加载的函数,每次调用都会进行条件判断
    function removeHandler(target,eventType,handler) {
        if(target.removeEventListener) {
            target.removeEventListener(eventType,handler,false);
        }else {
            target.detachEvent("on"+eventType,handler);
        }
    }
    //延迟加载的函数,第一次调用后,会覆盖原来的老函数,以后再次调用的是新函数,不会再进行条件的判断,提升效率
    function addHandler(target,eventType,handler) {
        if(target.addEventListener) {
            addHandler = function(target,eventType,handler){
                target.addEventListener(eventType,handler,false);
            }
        }else{
            addHandler = function(target,eventType,handler){
                target.attachEvent("on"+eventType,handler);
            }
        }
        addHandler(target,eventType,handler);
    }
    //条件预加载
    //条件预加载确保所有函数调用时间相同。其代价是在脚本加载时进行检测。预加载适用于一个函数马上就会被用到,而且在整个页面生命周期中经常使用的场合。
    
    var addEventHandler = document.body.addEventListener ? function(target,eventType,handler) {
          target.addEventListener(eventType,handler,false);
    } : function(target,eventType,handler) {
          target.attachEvent("on"+eventType,handler);
    }
    
    
    
     
  • 相关阅读:
    nginx 怎么通过域名访问8080端口(指定端口)
    node.js 部署的 vue 项目怎么在局域网访问
    MySQL的疑难问题解决
    win10下装ubuntu双系统(免U盘)
    文件、块、对象存储
    OpenShift定义的安全上下文约束(SCCs)
    OpenShift资源类型
    yum命令详解
    OCP3.9的网络
    NTP时间服务器搭建部署
  • 原文地址:https://www.cnblogs.com/daxian2012/p/2720232.html
Copyright © 2011-2022 走看看