zoukankan      html  css  js  c++  java
  • JS

    惰性函数可以优化频繁使用的函数。常用于函数库的编写、单例模式之中。

    应用:添加绑定函数

    1.初始版本:每一次调用都要进行 else-if 判断,其实第一次调用后,已经知道浏览器的环境,环境是固定的,可以在第一次判断后,就保留判断,可以优化多次调用函数的性能。

        function emit (element,type,func){
          if(element.addEventListener){
            emit = function (element,type,func) {
              element.addEventListener(type,func,false)
            } 
          }else if(element.attachEvent){
            emit = function (element,type,func) {
              element.attachEvent('on'+ type,func);
            }}else{
              emit = function (element,type,func) {
              emit = element['on'+type]=func;
            }
          }
          emit(element,type,func);
        }
        emit(box, 'click', fn1);

    2. 更改后的版本:在第一次调用后 emit函数被新的内容覆盖,不需要再进行 if 判断。

        function emit (element,type,func){
          if(element.addEventListener){
            emit = function (element,type,func) {
              element.addEventListener(type,func,false)
            } 
          }else if(element.attachEvent){
            emit = function (element,type,func) {
              element.attachEvent('on'+ type,func);
            }}else{
              emit = function (element,type,func) {
              emit = element['on'+type]=func;
            }
          }
          emit(element,type,func);
        }
        emit(box, 'click', fn1);
  • 相关阅读:
    sql分页存储过程疑惑:Row_Number与临时表哪个好?
    SQL之剪切
    在sqlserver2005中安装sql server 2000的示例数据库northwind
    安装SQL2005示例数据库
    Firefox浏览器中,Flex的FileReference上传文件,引发IOError
    Java获取方法的调用者
    ABAP screen常见语法
    XPO永久删除记录方法
    XPO的UpCasting
    在ASP.NET项目中使用XPO的最佳准则
  • 原文地址:https://www.cnblogs.com/-xiao/p/12504641.html
Copyright © 2011-2022 走看看