gpt4 book ai didi

javascript - 困惑为什么 fs 可以作为仅包含数组的函数运行

转载 作者:行者123 更新时间:2023-12-02 23:13:45 25 4
gpt4 key购买 nike

我是 JS 新手,遇到了一段让我有点困惑的代码:

function buildFunctions() {
var arr = [];
for (var i = 0; i < 3; i++) {
arr.push(
function () {
console.log(i);
}
)
}

return arr;
}

var fs = buildFunctions();

fs[0]();
fs[1]();
fs[2]();

问题是,当我们将 fs 等于 buildFunctions() 时,buildFunctions 就会运行并返回一个数组。那么,fs 内部只有数组,那么 fs 怎么可能作为函数运行,因为它内部只有数组,就像这样

fs[0]();
fs[1]();
fs[2]();

同样,fs 内部有一个数组,那么我们如何将 fs 作为函数运行

最佳答案

fs 是一个数组。该数组内部包含三个元素。这三个元素中的每一个都是一个函数。这些函数是由以下代码创建的:

function () {
console.log(i);
}

...并使用以下代码插入到数组中:

arr.push(
function () {
console.log(i);
}
)

因此访问 fs[0] 返回数组的第 0 个元素,该元素是一个函数,因此 fs[0]() 是调用所需的代码该功能。

关于javascript - 困惑为什么 fs 可以作为仅包含数组的函数运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57237538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com