JavaScript 谜题:范围

2023-12-10

所以我试图解决这个难题:

function fun1(){
    var result = [];
    for (var i = 0; i < 5; i++){
        result.push( function() {return i} );
    }
    return result;
}

console.log(fun1()[0]()) // returns 5?

该数组的第一个元素不应该返回一个返回“0”的函数吗?


不,它应该返回 5。

该函数仍然有对 i 的引用,即 for 之后的 5。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 谜题:范围 的相关文章

随机推荐