2

例如,如果我有

function routine(n){
   function subroutine(n){
      return n+1;
   }
   return subroutine(n*n);
}

subroutine每次打电话都会重新创建吗routine

那么,我应该使用

var routine = (function(){
   function subroutine(n){
      return n+1;
   }
   return function(n){
      subroutine(n*n);
   }
})();

反而?

4

2 回答 2

1

是的,它被创建了多次。你可以在这里查看更多信息

于 2013-07-14T19:18:18.127 回答
1

是的,它是多次创建的。

为什么你不能只使用:

function routine(n){
   return function (n){
      return (n*n)+1;
   };
}

或者:

function routine(n){
   return (n*n)+1;
}

或者这只是一个例子?

于 2013-07-14T19:18:48.527 回答