概念
闭包函数是指在一个函数内部定义的函数,并且该内部函数可以访问其外部函数的变量。换句话说,闭包函数可以“记住”其创建时所处的上下文环境,即使在其创建的上下文环境已经不再存在时仍然可以访问和操作外部函数的变量。
闭包函数通常用于以下情况:
- 封装变量:通过闭包函数可以创建私有变量,这些变量不会被外部访问到,从而实现数据的封装和隐藏。
- 保持状态:闭包函数可以保持其创建时的状态,即使外部函数已经执行完毕,内部函数仍然可以访问和修改外部函数的变量。
- 延迟执行:通过闭包函数可以实现延迟执行某些操作,因为内部函数可以在外部函数执行完毕后继续访问和操作外部函数的变量。
例如,在这个例子中,我们使用jquery创建分页,当我们给每一条数据加上点击功能时,当页面加载,我们还没有使用这个点击功能的时候,i的值会处于变化的状态,当我们再次点击的时候,会出现以下报错。
所以我们可以选择使用一个闭包函数来防止内部变量被污染,这样我们可以在需要的时候随时点击。
简单来说,即使闭包函数里面的变量名是一样的,但是他们代表的是不用的含义,不会出现变量污染。它的格式是(function(内部变量){
)(外部变量)