JavaScript Closure和JavaScript之间的区别?

时间:2011-04-01 18:48:15

标签: javascript closures

我在JavaScript方面有一点经验但是JavaScript Closure让我很困惑。

2 个答案:

答案 0 :(得分:2)

要了解闭包将要做什么,您需要了解局部变量的范围。

在Java中,您可以在任何{}块中声明一个新的,不同的局部变量。

在Javascript中,有不同的行为。解释器允许在任何地方声明局部变量,但这些变量只有在不同的函数中才会有区别。

Javascript中没有循环范围或循环定义的变量,因此for(x=0;x<10;x++){ var j=... 的行为与 var j; for(x=0; x<10; x++){ j = .. 完全相同

这就是为什么在Javascript中经常将一个函数包装在另一个函数中以创建一个表现良好的范围。

答案 1 :(得分:2)

这是你在找什么?

How do JavaScript closures work?