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

 

 

posted @ 2016-10-20 15:23  老牛大讲堂  阅读(307)  评论(0编辑  收藏  举报