我对闭包的理解是它们本质上是一个函数,它使用一个你认为超出范围的变量.我想这是我前几天看到的一个例子:
function closureMaker(somearg)
{
var local_value = 7;
function funcToReturn(arg1, arg2)
{
return local_value + somearg + arg1 + arg2;
}
return funcToReturn;
}
var myClosure = closureMaker(6); //make the closure
myClosure(2, 3); //using it
Run Code Online (Sandbox Code Playgroud)
现在闭包有local_value甚至是原始的arg,somearg.但我不明白为什么这些都有帮助.使用'free'变量local_value有什么意义,甚至更不为我所知,为什么你会在闭包函数中使用closureMaking函数的参数?
我对如何在javascript中使用它更感兴趣,这是否用于AJAX请求和对象?
我得到了什么.我需要为什么.