什么是闭包?
闭包就是在函数的外部可以访问到函数内部的变量。官方的解释是,闭包是一个拥有许多变量和绑定了这些变量环境的表达式(通常就是一个函数),因而这些变量也是表达式的一部分;在JAVAscript中每个function都是一个闭包,嵌套的function产生的闭包更为强大
闭包的作用
闭包使得函数执行完后变量不会被垃圾回机制给清空;2、保护函数内部变量的安全;3,通过变量的保护确定JS的私有属性和私有方法;
JS中的变量回收机制;
在JS中当对象不被外部引用,JS的回收机制就会回收该对象,如果两个对象相互引用,而不被第3者引用,那么两个对象都会被回收机制给回收;当函数a被B引用,b又被a外面的C引用,那么a不会被垃圾回收机制个回收;
闭包的简单例举;
function aa(){
var a=0
function bb(){
a++
}
return bb
}
var c=new aa()
c();