javascript-匿名函数、闭包基础整理(1).

匿名函数

 1 //把匿名函数赋值给变量

 2     var box=function()

 3     {

 4         return 'Lee';

 5     }

 6 

 7 // 匿名函数自我执行来执行匿名函数

 8     (function()

 9     {

10         alert('Lee');

11     })();

12 //    把匿名函数的 返回值 赋值给变量

13     var box =(function()

14     {

15         return 'Lee';

16     })();

17     

18         alert(box);

19 //自我执行匿名函数的传参

20 

21     (function (age)

22     {

23         alert(age);

24     })(100);

闭包是可访问一个函数作用域里变量的函数

 

 1 //函数里面放一个匿名函数

 2         function box()

 3         {

 4             return function()

 5             {

 6                 return 'Lee';

 7             }

 8         }

 9 

10         //alert(box()());

11         

12         var b=box();

13         alert(b());

 

闭包是指由权访问另一个函数作用域中的变量的函数,创建闭包的常见的方式,就是在一个函数内部创建另一个函数,通过另一个函数访问这个函数的局部变量

 1 //通过 闭包 返回局部变量

 2         function box()

 3         {

 4             var age = 100;

 5             return function()

 6             {

 7                 return age;

 8             }

 9         }

10         

11         alert(box()());

//闭包可以把局部变量驻留在内存中,可以避免使用全局变量。(全局变量污染到时应用程序不可预测性,每个模块都可以调用必将引来灾难,所以推荐使用私有的,封装的局部变量)

 

 1 //使用匿名函数实现局部变量驻留在内存中从而实现累加

 2         function box()

 3         {

 4             var age = 100;

 5             return function()

 6             {

 7                 age++;

 8                 return age;

 9             }

10         }

11 

12         //alert(b()());  不能使用这样累加 因为每次都会 初始化 var age =100;

13         

14         var b= box();

15         alert(b());

16         alert(b());

17         alert(b());

18         alert(b());

19         alert(b());

20         

21         b=null; //★★这里非常重要 解除引用 垃圾回收

 

你可能感兴趣的:(JavaScript)