闭包就是closure, 意在方法体外访问到方法内的局部变量,因为javascript中的方法中定义的变量对外是不可见的,类似于是私有的,
var a;
function access(){
var b = 1;
}
alert(b); //error取不到值
在上面的alert(b)中是取不到值的,因为不能访问方法内的变量,这时可以通过在方法内嵌套定义方法,来访问方法体内的变量,
function access(){
var b = 1;
function avi(){
++b;
}
return avi;
}
var test = avi();
alert(test());
上面这种方式可访问到方法内部的私有变量。
附闭包的定义:
- 闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在。
- 闭包就是就是函数的“堆栈”在函数返回后并不释放,我们也可以理解为这些函数堆栈并不在栈上分配而是在堆上分配
- 当在一个函数内定义另外一个函数就会产生闭包
本文介绍了JavaScript中的闭包概念,解释了如何通过在函数内部定义另一个函数来访问外部函数的局部变量,进而实现对这些通常不可见的变量的操作。此外,还提供了具体的代码示例帮助理解。
331

被折叠的 条评论
为什么被折叠?



