zoukankan      html  css  js  c++  java
  • Jquery的闭包理解--匿名函数--博客园老牛大讲堂

    JavaScript的闭包怎样理解?

    我以前的博客总是提到匿名函数,其实匿名函数就是闭包的体现。

    闭包的好处?--关注博客园老牛大讲堂

     //垃圾回收机制
    //当函数执行完毕,系统会自动回收函数和其内部局部变量所占的内存,当再次调用函数时重新申请内存
    //闭包:函数嵌套时,在内部函数中可以使用外部函数的变量或者形参,并且把内部函数返回给外部函数
    //闭包中的变量在内存中永久存在 
    总结:一个方法使用另一个方法的值。避免产生更多的变量,占用内存。
    1、闭包的例子:
    这就是一个闭包例子:
    <!DOCTYPE html>//博客园老牛大讲堂
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
        </body>
        <script>
            function bbb(){
                var a=1;
                return function(){
                    console.log(a++);
                }
            }
            var ccc=bbb();//相当于java上的new一个对象出来。
            ccc();//相当于调用bbb类的ccc()方法。
            ccc();
        </script>
    </html>
    View Code

    2、匿名函数(闭包)例子:--关注博客园老牛大讲堂

    <!DOCTYPE html>//老牛大讲堂
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
        </body>
        <script>
            (function(){
                //这就是一个匿名函数
            function setContent(){//普通的方法
               
            }
            slide.prototype.setSelectedCheck = function(){//提供外部的接口,相当于java上提供一个get方法的接口
                alert("b");      //可以通过echoSlide.setSelectedChek();调用这个方法。
            }
    
            function slide(titl,dat,ro,e){//相当于java上的构造方法
              alert("a");
            }
                 window.echoSlide = slide;
                
            })(window)
        </script>
    </html>
    

      

    调用就是:

    var ed=new echoSlide();就输入a

    ed.setSelectedCheck();调用这个方法,输出b

     
  • 相关阅读:
    K好数
    最大最小公倍数
    十六进制转十进制
    利用malloc定义数组
    01字串
    ubuntu 14.04 下jdk和sdk+eclipse 的配置
    Mysql3
    求最大连续子串
    UC笔试
    java实现随机洗牌算法
  • 原文地址:https://www.cnblogs.com/laonniudajiangtang/p/5974899.html
Copyright © 2011-2022 走看看