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函数时就会直接调用被分配的函数。

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

  • 相关阅读:
    (转)很简短,但读完你会感触良多!
    (转)让 win8 快速通过认证的5个提示
    WPF 资源路径解析
    47、SimpleOrientationSensor
    45、SplashScreen
    让IE6也支持position:fixed
    utf8编码引起js输出中文乱码的解决办法(实用)
    javascript的currying函数
    sicily 1036. Crypto Columns
    sicily 6774. Buying Mortadella
  • 原文地址:https://www.cnblogs.com/happycloud/p/3113462.html
Copyright © 2011-2022 走看看