封闭包函数

2019-01-15  本文已影响0人  阿朝狠酷
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>封闭函数</title>
    <script type="text/javascript">
        /*原来的写法
        function myAlert(){
            var str = '欢迎访问我的主页';
            alert(str);
        }

        myAlert();*/

        var str = function(){
            alert('test');
        }
        
        //封闭函数的一般写法
        //封闭函数定义:(function(){……})()
        /*
        ;;(function(){
            var str = '欢迎访问我的主页';
            alert(str);
        })();//最后的()表示马上执行
        */

        //封闭函数其他的写法:在匿名函数前加“!”或者“~”,之后加“()”
        ~function(){
            var str = '欢迎访问我的主页';
            alert(str);
        }();
    </script>
</head>
<body>
    
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>闭包</title>
    <script type="text/javascript">
        /*
        闭包的本质就是函数嵌套,就是在函数里面定义函数,
        内部函数可以引用外部函数的参数和变量
        参数和变量不会被垃圾回收机制给回收
        闭包的用途:可以存循环的索引值、做私有变量计数器
        */
        /*
        //闭包的一般写法
        function aa(b){
            var a = 12;

            function bb(){
                alert(a);
                alert(b);
            }

            return bb;
        }

        var cc = aa(24);*/

        
        //闭包的封闭函数写法
        var cc = (function(b){
            var a = 12;

            function bb(){
                alert(a);
                alert(b);
            }

            return bb;
        })(24);

        cc();
        

        /*
        //只能调用一次的闭包
        (function(b){
            var a = 12;

            function bb(){
                alert(a);
                alert(b);
            }

            return bb;
        })(24)();
        */
    </script>
</head>
<body>
    
</body>
</html>
上一篇下一篇

猜你喜欢

热点阅读