0
(function(){
  var a;

  function inner1(arg){
    a = arg;
  }

  function inner2(){
    alert(a);
  }

})();

这会导致我的应用程序中的内存泄漏,因为我在我的其他两个内部函数之外声明变量 a。

4

1 回答 1

2

不,因为您已经在匿名函数闭包中声明了该变量。

您可以通过执行以下操作来证明这一点。

(function(){
  var a;

  function inner1(arg){
    a = arg;
  }

  function inner2(){
    alert(a);
  }

})();

alert(a)
于 2013-01-19T15:55:31.667 回答