首页 > Web开发 > 详细

js 块级作用域 和 闭包 引用

时间:2020-06-09 17:42:10      阅读:40      评论:0      收藏:0      [点我收藏+]

当函数被声明的时候,他的作用于域链就会生成;所需要的变量就会被保存;不能被销毁;

另外,for循环还有一个特别之处,就是设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。(见图一)

  • 块级作用域::
 for (let i = 0; i < 5; i++) {
                var cc = ‘asdas‘ + i;
                a[i] = function() {
                    console.log(i, cc);
                };
            }

技术分享图片

  • 闭包

test() ;
   function test() {
            var cc = "test";
           return function(){
                  console.log(cc )
            }
        }

技术分享图片

  • 块级作用域 和 闭包
var a = [];
 test()
        a[4](); // 6

        function test() {
            for (let i = 0; i < 5; i++) {
                var cc = ‘asdas‘ + i;
                a[i] = function() {
                    console.log(i, cc);
                };
            }
        }

技术分享图片

js 块级作用域 和 闭包 引用

原文:https://www.cnblogs.com/guyuedashu/p/13074069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!