首页 > Web开发 > 详细

js闭包理解

时间:2019-06-04 16:03:51      阅读:83      评论:0      收藏:0      [点我收藏+]
闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。
形式上
function outer(){
   var var1;
   var var2;

   function inner(){
        访问var1
        访问 var2
}
   
   return inner;
}

案例
function outer(){
    var outerVar = "10";
            
    function inner(){
        console.log(outerVar);
    }
    return inner;
}
        
var t1 = outer();
t1();

outer()执行完成后并不释放自己的函数执行堆栈,原因:outer函数内部返回了一个函数inner,此时js解析引擎为了给inner函数保留执行环境,不会释放outer的执行堆栈。
直到inner函数执行完成后,一起释放outer和inner执行堆栈。

 

js闭包理解

原文:https://www.cnblogs.com/wwthuanyu/p/10973789.html

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