zoukankan      html  css  js  c++  java
  • 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; //★★这里非常重要 解除引用 垃圾回收
  • 相关阅读:
    17款最佳的代码审查工具
    最全的开发人员在线速查手册
    Expression Blend 4 激活码
    TimeSpan XML序列化
    如何使用策略模式
    .Net 笔记(二) 泛型和集合
    VS2010 旗舰版序列号
    WPF ArrangeOverride与MeasureOverride
    实现zbar扫描二维码的时候就把照片存储出来的办法
    用Jpush极光推送实现抓取特定某个用户Log到七牛云服务器
  • 原文地址:https://www.cnblogs.com/VanqusherCsn/p/4316194.html
Copyright © 2011-2022 走看看