1. 一句话 : js的闭包就是子函数可以使用父函数中的局部变量,这种行为就叫做闭包。
2.例子js:
function f(){
var a =5;
function g(){
a++;
return a;
}
}
var h=f();
var c =h();// c is 6
var d=h();// d is 7
搞明白这个小例子,偶才理解了闭包这个狗日的是个什么东西。
3.下面这句对闭包的描述,偶觉得有点高端大气上档次:
闭包是一种语言特性,当函数被定义后,一个函数的外部上下文会被保存下来(说的就是上面列子:函数h中的a变量),并且当函数调用时提供给函数使用(提供g函数使用)。
这个被保存的上下文中的任何变量的值都一直是持久化的,并且同一时间只有一个值,对这个函数的调用共享同一个上下问并且引用同样的变量。
么么哒,终于搞明白了,操蛋的,哪个sb说搞技术的要坚持写博客,记录下
原文地址:http://www.cnblogs.com/zqsb/p/3750505.html