我的耐特人生

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

 

 

 

posted on 2014-03-13 09:55  我的耐特人生  阅读(149)  评论(0)    收藏  举报