美文网首页
关于一个经典闭包问题的分析

关于一个经典闭包问题的分析

作者: 王牡丹爱写作 | 来源:发表于2019-06-02 21:57 被阅读0次

    1.因为根据程序执行的顺序可知,首先之心test函数.所以首先分析test函数执行过后 函数作用域链的情况.
    预编译:找到变量 arr和i,并为其赋值为undefined.
    解释执行:为arr push10个函数;此时的i也变成了10;以为不满足条件,所以不能继续给数组push 函数.
    2.此时执行被返回的函数,也就是形成所谓的闭包.所以此时打印的每个函数所得到的结果都是10.



    分析:此函数中有一个立即执行函数.它执行完后会立即销毁自己的作用域链,但是它没有死透彻.因为里面还有一个函数,这个函数被保留下来这个函数将它的作用域保存了下来.那会是j.
    也就是说此时闭包被保存出来的函数时站在两代人的肩膀上的.

    PS:有不对的地方请赐教.发留言一起讨论一起进步

    相关文章

      网友评论

          本文标题:关于一个经典闭包问题的分析

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