jquery闭包菜鸟教程

如果你在编写网页时使用 jQuery,那么你一定会听说过“闭包”。那么什么是闭包呢?

在 JavaScript 中,闭包是指能够访问自由变量的函数。自由变量是指在函数中使用的,但既不是函数参数也不是函数的局部变量的变量。

来看一个简单的例子:

function outerFunction(){var outerVar = "I am outside!";function innerFunction(){alert(outerVar);};return innerFunction;}var inner = outerFunction();inner(); //输出"I am outside!"

在这个例子中,innerFunction() 是一个闭包。它能够访问 outerFunction() 中的 outerVar 变量,虽然 outerVar 不是它的局部变量也不是它的参数。

在 jQuery 中,我们常用闭包来避免变量污染,比如在使用 each() 函数时:

$("ul li").each(function(){var index = $(this).index();$(this).click(function(){alert("You clicked item " + index);});});

在这个例子中,我们定义了一个含有闭包的 click 函数,它能够访问 each() 函数中的 index 变量。

总之,闭包是一个非常有用的编程概念,尤其在 jQuery 中更是如此。希望这篇文章能够帮助你更好地理解它。

jquery闭包菜鸟教程