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; //★★这里非常重要 解除引用 垃圾回收
原文地址:https://www.cnblogs.com/VanqusherCsn/p/4316194.html