K.K*_*tov 1 javascript higher-order-functions
我现在正在学习JavaScript.我有一些问题.以下代码来自Eloquent JavaScript:
function forEach(array, action) {
for (var i = 0; i < array.length; i++)
action(array[i]);
}
var numbers = [1, 2, 3, 4, 5],
sum = 0;
forEach(numbers, function(number) {
sum += number;
});
console.log(sum);
Run Code Online (Sandbox Code Playgroud)
这段代码发生了什么?当调用forEach函数时,它如何确定数字是多少?它是如何从数字数组中提取数字的?
这段代码发生了什么?
以下是您的forEach功能如何工作的说明:
forEach函数接受两个参数,即数组和函数for迭代遍历数组的循环action(array[i])调用传入的函数并将其传递给一个数组元素. array[i]从数组中获取下一个项目并action(array[i])调用传入的函数并将其传递给数组中的下一个项目.然后,当你这样称呼时:
forEach(numbers, function(number) {
sum += number;
});
Run Code Online (Sandbox Code Playgroud)
它将为numbers数组中的每个数字调用一次传递给它的函数,当它调用该函数时,它会从数组中传递一个数字作为函数的第一个参数.
让一些人感到困惑的一件事是number你传递给函数的参数forEach只是你赋给函数第一个参数的名字.它可以命名为您想要的任何名称,与forEach()函数定义中使用的任何名称无关.函数参数的声明只是分配给每个参数的标签,使您更容易使用它们.你也可以这样做:
forEach(numbers, function(whateverYouWant) {
sum += whateverYouWant;
});
Run Code Online (Sandbox Code Playgroud)
当调用forEach函数时,它如何确定数字是多少?
你的for循环一次遍历整个数组一个数字,并为数组中的每个数字调用一次回调函数.
它是如何从数字数组中提取数字的?
array[i]是从数组中提取数字的位置.这是用于从其中阵列中检索第i个值正常数组索引i从变化0到阵列减去1的长度.
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |