所谓闭包:就是一个函数内部又定义了一个函数,而这个函数能访问外部函数作用域范围内的变量,这个内部函数就叫做闭包! js中的面向对象都是使用闭包来实现的
闭包里使用的变量会现在当前函数内搜索,没有的话,会往上一级寻找
闭包实例: 函数内嵌套函数就是闭包
function ff (name){
return function(){
alert(name);//当程序运行到此处的时候,使用到了变量name的值,那么程序会现在当前函数内寻找,没有的话,就会往上一级找
}
}
var f1=ff('哈哈');
f1();
闭包可以延长变量的作用域,如下
function f1(){
var n=90; //比如我们想获取这个n的值
function(){
alert(n); //通过匿名方法闭包,返回n的值
};
};
f1()();外部调用的方式,使用两个括号,这是请教了一个.net群里的大神CC所得知,感谢