浏览器&前端

javascript闭包,以及javascript立即执行函数

字号+ 作者:风潇潇 来源:原创 2017-10-26 16:04 我要评论( )

今天详细的看了一下javascirpt闭包

<html>
    <header>
        <title>javascript</title>
    </header>
    <body>
        <script type="text/javascript">
        //execute right away
            (
                function(i){
                console.log(i);
            }
            )(5);
            function c(i){
                console.log(i);
                return function(){
                    return i;
                }
            }
            console.log(c(5)());

            console.log((function(i){
                console.log(i);
            }));

            ({
                a:'aaaaa'
            });

            var b=(1+1);
            console.log(b);
            var c = 2;
            console.log(b+c);

            console.log(( c = 'sssss'));
            // (  )  上面的方式表明了()执行方式,中括号是可以执行运算符的,包括 new 、 数值计算、 创建对象、创建函数等,赋值语句等
            // 闭包
            //js的scope基于function,而js中函数是可以作为普通对象到处传递的,会有一个function内部定义的函数放到其他任何地方使用的情况。
            //而所谓的闭包就是当函数在其他地方使用的时候能保存下函数所需要的运行环境,即函数能保存下函数诞生时的环境。
            function addN(){
                var n = 1;
                return function(){
                    return n++;
                }
            }
            var nn = addN();
            console.log(nn(2));
            var nm = addN();
            console.log(nm(2));
            //nn 和 nm 两个对象不相互影响,并且有个字的n计数
            //把函数以及其所依赖的外部变量结合在一起并且互不干扰即闭包
        </script>
    </body>

</html>

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)