javascript第九课"闭包"

时间:2023-03-08 16:22:19
javascript第九课"闭包"

所谓闭包:就是一个函数内部又定义了一个函数,而这个函数能访问外部函数作用域范围内的变量,这个内部函数就叫做闭包!   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所得知,感谢