zoukankan      html  css  js  c++  java
  • 提升性能JS函数小技巧:惰性载入函数

    惰性载入函数

           各位前端程序员都知道,因为浏览器之间的差异,在写function的时候经常要用到大量的if else判断语句,将执行引导到正确的语句中去。例如

    function  XX(){
         if(){
             dosomething;}else if(){
             dootherthing;}else{
             doanotherthing;
         }
    }

    每次调用XX时,浏览器都要进行仔细的判断,即使每次调用时分支的结果都不变。但是我们知道只要有if这种语句的代码,肯定要比没有的要慢。所以如果if语句不必每次执行,那么我们就可以提高函数的运行效率。解决方案呢,就是惰性载入技巧。

          惰性载入函数的分支只会执行一次。有两种实现的方式。第一种是在函数被调用时在处理函数。在第一次调用时,该函数会覆盖为其中一个按照符合标准的函数(if里面的函数)。这样经过第一次调用之后,在调函数不用再经过执行的分支了。例:

    function  XX(){
         if(){
             XX=function(){
                   dosomething;
                  };
         }else if(){
             XX=function(){
                  dootherthing;
                  };
        }else{
            XX=function(){
                  doanotherthing;
                  };
        }
        return   XX();
    }

    在这个惰性载入函数中,每一次执行分支都会为XX函数进行赋值,这样就会有效的覆盖原有的函数。下一次调用XX函数时就会直接调用被分配的函数。

    第二种方法,明天再补充吧,太晚了先休息了~~

  • 相关阅读:
    EOJ 1822 Hanoi Tower IV
    Firefox,chrome,IE上传图片预览
    js保存,获取,删除cookie的操作
    jquery 特效
    SimpleDateFormat转换时间,12,24时间格式[转]
    javascript捕获页面窗口关闭事件
    [转]ajQuery的deferred对象详解
    iframe
    火狐路径问题
    JAVA折腾微信公众平台(Token验证)[转]
  • 原文地址:https://www.cnblogs.com/happycloud/p/3113462.html
Copyright © 2011-2022 走看看