小编fum*_*huu的帖子

我知道封闭是什么,但我仍然不明白为什么(或何时)你会使用它们

我对闭包的理解是它们本质上是一个函数,它使用一个你认为超出范围的变量.我想这是我前几天看到的一个例子:

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请求和对象?

我得到了什么.我需要为什么.

javascript closures programming-languages

12
推荐指数
2
解决办法
428
查看次数