js代码执行顺序

1  var mult=(function(){
2      var cache={};
3      return function(){
4          var args=Array.prototype.join.call(arguments,",");
5          if(args in cache){
6              return cache[args];
7          }         
8          var a=1;
9          for(var i=0,l=arguments.length;i<l;i++){
10              a=a*arguments[i];
11          }
12          return cache[args]=a;
13  }   
14  })();
15  alert(mult(1,2,3));
16  alert(mult(2,3,4));

js代码执行顺序是怎么的?
上面的代码是不是从1--14行执行,然后走到15行调用的时候会重新执行一次1-14行,然后继续走到16行,16行再调用的时候又重新执行1-14行??
阅读 2.5k
2 个回答

事实上,1-14行执行后返回3-13行的匿名函数并赋给mult,因此顺序是1-14-15-3-13-16-3-13

先运行 1-14,然后是 3-13,再是 3-13

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题