js中闭包的理解
闭包的含义
官方对闭包的解释:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
但是如果函数执行时创建了一个内部函数,这个内部函数作为返回值,或以某种方式保留下来(属性),之后才会调用,这就会形成了闭包。通俗来讲,JS所有的function都是一个闭包。
下面这个例子示范一下
function a1(){
var n = 100;
return function a2(){
alert(++n);
}
}
1.当一个函数作为另外一个函数变量的一个引用,当函数返回时,其处于激活状态。
2.一个闭包就是当一个函数返回时,一个没有释放资源的栈区。
本文详细解析了JavaScript中闭包的概念,通过实例演示了闭包如何在函数内部创建并保留对外部作用域的引用,即使外部函数已经执行完毕。闭包使得内部函数能够访问其外部函数的作用域,而不会被垃圾回收机制清理。
823

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



