如果我在另一个函数中有一个函数但是内部函数没有使用外部函数的变量,那么内部函数是否仍然是一个闭包?
function someFunc(){
return function(){
\\do some more stuff
}
}
答案 0 :(得分:2)
每当你在另一个函数中看到function
关键字时,内部函数就可以访问外部函数中的变量。
function foo(x) {
var tmp = 3;
function bar(y) {
alert(x + y + tmp);
}
bar(5);
}
foo(2);
这将始终提醒 10 ,因为bar
可以访问被定义为x
的参数的foo
,并且还可以访问tmp
1}}来自foo
。
有关闭包的信息,请参阅:http://javascriptissexy.com/understand-javascript-closures-with-ease/