美文网首页
提高JavaScript程序性能的方法

提高JavaScript程序性能的方法

作者: sdcV | 来源:发表于2017-07-13 15:50 被阅读20次
    1. 编写带有记忆功能的函数
      //函数memoize()需要传人一个函数作为输入参数,返回相同的函数但增加了储存功能
      function memoize(fn){
      return function(){
      var propertyName;
      fn.storage = fn.storage || {};//如果这个函数还没有记忆的对象属性,就添加一个
      propertyName = Array.prototype.join.call(arguments, "|");//为了保证属性名唯一性,基于参数组合命名
      if(propertyName in fn.storage){ //判断该键是否在记忆对象中
      return fn.storage[propertyName];//有就直接取出,避免再次执行函数
      }else{
      return fn.storage[propertyName] = fn.apply(this, arguments);//不存在,就把函数执行结果保存在记忆对象
      }
      }
      };
      //test函数
      function getFactorial(num){
      var result = 1,
      index = 1;
      for(; index <= num; index++){
      result *= index;
      }
      return result;
      }
      var getFactorialMemoized = memoize(getFactorial);
      alert(getFactorialMemoized(50));//执行整个函数
      alert(getFactorialMemoized(50));//返回保存的值,避免了执行整个函数,增强了性能。
      2 . 使用for的小技巧
      var myArray = [10,30,24,2,45,67];
      for (var index = 0,length = myArray.length; index < length; index++){
      //只计算一次的得出myArray.length的值,并保存在一个变量之中,在每一次迭代中,可直接取变量值,无需重新计算
      }

    相关文章

      网友评论

          本文标题:提高JavaScript程序性能的方法

          本文链接:https://www.haomeiwen.com/subject/pywwhxtx.html