1

如果我在另一个函数中有一个函数但内部函数不使用外部函数的变量,那么内部函数仍然是一个闭包吗?

function someFunc(){
    return function(){

         \\do some more stuff

    }


}
4

1 回答 1

2

每当您function在另一个函数中看到关键字时,内部函数都可以访问外部函数中的变量。

   function foo(x) {
      var tmp = 3;
      function bar(y) {
          alert(x + y + tmp);
      }
      bar(5);
   }
   foo(2);

这将始终警告10,因为bar可以访问x定义为参数的foo,也可以访问tmpfrom foo

有关闭包的信息,请参阅:http: //javascriptissexy.com/understand-javascript-closures-with-ease/

于 2013-10-05T09:44:40.550 回答