这个文档语法在 MDN 中对于 JavaScript 函数意味着什么?

Noo*_*r_1 5 javascript arrays

我正在通过“Eloquent JavaScript”手册学习 JavaScript ,现在我正在做第 5 章“高阶函数”中的练习。本章向您介绍的功能之一是“ reduce ”。我理解它是如何工作的,当我试图在MDN上理解它的定义时,我的问题就出现了。我不明白它给出的语法定义:

arr.reduce(callback[, initialValue])
Run Code Online (Sandbox Code Playgroud)

此语法部分之后是称为参数的部分。这些是:

  • 打回来
    • 先前值
    • 当前值
    • 指数
    • 大批
  • 初始值(可选)

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

因为下面有两个例子:

示例 1

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

示例 2

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

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

谢谢

Jos*_*eph 3

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

  • 这是不正确的。如果省略“initialValue”,则“reduce”的第一次迭代不会提供“null”作为参数。相反,*数组的前两个元素*作为“previousValue”和“currentValue”传递。 (2认同)