匿名函数
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; //★★这里非常重要 解除引用 垃圾回收
时间: 2024-11-07 11:20:13