闭包是函数的嵌套;因为通常我们无法在外部访问到函数体内部的变量,所以可以在函数体的内部再定义一个函数,获取到内部的变量并且操作之后可以使用return返回结果,同时还可以使得函数体内部的变量形成一个类似作用域的情况。同时也会打破垃圾回收机制,使得函数不会被回收,这个可能会导致内存泄漏。
闭包案例:
function fun(){
var count = 0;
return function(){ //返回内部函数的值
return ++count; //返回变量
}
}