闭包

跟風遠走 提交于 2020-01-27 03:38:57

闭包的本质: 它就是个函数
概念: 能够访问其他函数内部变量的 函数
条件:
1. 在函数中嵌套定义另外一个函数
2. 被嵌套的函数(在里面的那个),一定要访问外部函数的变量
3, 被嵌套的函数要返回

实现的原理: 通过作用域链
作用: 能持久化 局部变量, 手动 控制局部变量的回收时间

闭包的弊端: 不能够大批量的使用,会造成程序加载过慢. 极容易造成内存泄露

       function big(){
               var c = 10;          
            //   返回的方式1:
            return function small(){
                console.log(c);
           }
          //返回的方式2:
            return function (){
               console.log(c);
            }
              //返回的方式3:
               function small(){
                  console.log(c);
               }
               return small;  // 函数带着(), 是执行。   不带(), 只是定义
           }
           
           var test =  big();
           test();
       
       

       
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!