美文网首页
for循环闭包问题

for循环闭包问题

作者: gidle | 来源:发表于2019-07-30 16:59 被阅读0次

    var array = [];

    for(var i = 0; i <4; i++) {

    array.push(() => i);

    }

    var newArray = array.map(el => el());

    console.log(newArray); // ??

    “newArray”中有哪些元素?

    答案:[3,3,3]

    在for循环时  建立了一个闭包环境,而在箭头函数中并没声明变量 i 所以会去上一层语义环境去找,在寻找时for循环并不会停止,当箭头函数找到时,循环已经完成 i = 3;

    相关文章

      网友评论

          本文标题:for循环闭包问题

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