对于JavaScript函数,此文档语法在MDN中的含义是什么?

时间:2015-03-07 12:02:10

标签: javascript arrays

我通过"Eloquent JavaScript"手册学习JavaScript,现在我正在进行第5章"High-Order Functions"的练习。本章介绍的功能之一是" reduce "。我理解它是如何工作的,当我试图在MDN理解它的定义时,我的问题出现了。我不理解它给出的语法定义:

arr.reduce(callback[, initialValue])

此语法部分后面是名为Parameters的部分。这些是:

  • 回调
    • PREVIOUSVALUE
    • CurrentValue的
    • 索引
    • 阵列
  • initialValue(可选)

我不明白这些方括号和逗号是什么意思?因为当我立即看到方括号时,我想在数组中。为什么在定义中只有initialValue而在其他参数中呢?为什么方括号和callback之间没有空格?

因为下面有两个例子:

示例1

[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array) {
    return previousValue + currentValue;
});

示例2

var total = [0, 1, 2, 3].reduce(function(a, b) {
    return a + b;
});
// total == 6

并且我不知道它们如何符合定义。

由于

2 个答案:

答案 0 :(得分:3)

API文档通常是使用[]来表示可选参数的约定。但是,[]不是使用语法的一部分。它只是文档惯例。

答案 1 :(得分:0)

正如在其他答案中已经解释的那样,“[]”内的参数是可选的。关于为什么“其他参数”(即previousValue等)不存在的问题,这些是callback而不是reduce的参数。因此,callback会在reduce的每次运行中收到这些参数。