美文网首页
封闭包函数

封闭包函数

作者: isMyNickName | 来源:发表于2018-11-04 19:21 被阅读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>

    相关文章

      网友评论

          本文标题:封闭包函数

          本文链接:https://www.haomeiwen.com/subject/htddxqtx.html