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

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

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

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



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

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

相关文章

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

    1.因为根据程序执行的顺序可知,首先之心test函数.所以首先分析test函数执行过后 函数作用域链的情况.预编译...

  • 关于Javascript闭包的总结

    关于闭包这个词的解释 维基百科中对于闭包的经典解释: 在计算机科学中,闭包(Closure)是词法闭包(Lexic...

  • 闭包原理及应用

    这个问题的经典性,几乎所有面试官都会问到这个问题,什么情况下会发生闭包,为什么需要闭包,什么场景下需要,闭包闭了谁...

  • JS闭包

    JS闭包 在stackoverflow看到的一个关于闭包的问题,讲的很透彻。原问题大概是:一个包含setTimeo...

  • Swift-进阶 :闭包(二)逃逸闭包 & 非逃逸闭包

    本文主要分析逃逸闭包 、非逃逸闭包、自动闭包 逃逸闭包 & 非逃逸闭包 逃逸闭包定义 当闭包作为一个实际参数传递给...

  • 闭包(closure)

    ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...

  • Python闭包

    闭包 = 环境变量 + 函数 调用闭包内部的环境变量 闭包的经典误区 闭包与非闭包实现人类走路 非闭包 闭包

  • block的捕获值

    接上回。一、上篇提到swift闭包的问题,估计和block同本同源。查了写别人写的关于闭包的,都会提到闭包的一个特...

  • 一个经典的闭包问题

    老生常谈的一个面试题,如何解决点击ul下的每个li,弹出这个li的元素索引呢? 1. 绑定数据在DOM元素上 遍历...

  • Python入门与进阶(11-11)

    11-11 一个事例看看闭包11-12 闭包的经典误区

网友评论

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

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