javascript 闭包

(function(){

  alert('lili');

})();     //闭包两个小括号执行()()

如果

function(){

  alert('lili');

}()  //不执行 报错,因为()前面是表达式,不是函数,要用圆括号转换一下

 

var box =(function(){

   return alert('lili');

})();    //把闭包自我执行的返回值赋给变量

 

闭包是指一个函数可以范围另一个函数中的局部变量,创建闭包的常见方法就是再函数里面再创建另一个函数,通过另一个函数访问函数的局部变量,利用闭包还可以使变量常驻内存

如下面的i

function test() {

  var i=0;

  function() {

  i++;

  alert(i);

  }

}

var b = test();

b();

b() //i会递增

 

利用全局变量 累加

var age=0;

function test() {

age++            //可以访问到全局变量  但是容易造成全局变量污染,

}

posted @ 2016-03-21 09:08  agang_19  阅读(93)  评论(0编辑  收藏  举报