首页 > Web开发 > 详细

JS - 惰性函数

时间:2020-03-16 17:54:20      阅读:54      评论:0      收藏:0      [点我收藏+]

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

应用:添加绑定函数

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);

 

JS - 惰性函数

原文:https://www.cnblogs.com/-xiao/p/12504641.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!