如果我在另一个函数中有一个函数但内部函数不使用外部函数的变量,那么内部函数仍然是一个闭包吗?
function someFunc(){
return function(){
\\do some more stuff
}
}
如果我在另一个函数中有一个函数但内部函数不使用外部函数的变量,那么内部函数仍然是一个闭包吗?
function someFunc(){
return function(){
\\do some more stuff
}
}
每当您function
在另一个函数中看到关键字时,内部函数都可以访问外部函数中的变量。
function foo(x) {
var tmp = 3;
function bar(y) {
alert(x + y + tmp);
}
bar(5);
}
foo(2);
这将始终警告10,因为bar
可以访问x
定义为参数的foo
,也可以访问tmp
from foo
。
有关闭包的信息,请参阅:http: //javascriptissexy.com/understand-javascript-closures-with-ease/