Mozilla开发者网络上方法参数的Javascript语法规范

Mozilla开发者网络上方法参数的Javascript语法规范,javascript,syntax,Javascript,Syntax,描述JavaScript标准内置对象方法中使用的语法,使用括号对可用参数进行分组 例如: var new_array = arr.map(function callback(currentValue[, index[, array]]) { // Return element for new_array }[, thisArg]) 在阅读文档时,这给我造成了一些混乱,我无法理解用括号将参数分组的目的 例如,在上面的示例中,为什么索引和数组参数按此方式分组 callback(currentVal

描述JavaScript标准内置对象方法中使用的语法,使用括号对可用参数进行分组

例如:

var new_array = arr.map(function callback(currentValue[, index[, array]]) {
// Return element for new_array
}[, thisArg])
在阅读文档时,这给我造成了一些混乱,我无法理解用括号将参数分组的目的

例如,在上面的示例中,为什么索引和数组参数按此方式分组

callback(currentValue[, index[, array]])

非常感谢您的时间和帮助。

这表示它们是可选的。你可以

.map(function callback(currentValue) { ... })

这取决于您以及您在回调中需要什么


这个特定的案例并没有很好地使用它,因为无论您声明它接受多少个正式参数,您的
回调
都将始终接收三个参数。但是,这种表示法,将可选参数放在方括号中,在指示函数需要什么与哪些是可选的时是相当常见的。

括号表示可选参数。因为如果不传递第一个参数,就不能传递第二个参数。谢谢,我现在完全理解了,我希望能够(目前没有特权)对于初学者来说,这些评论非常有帮助,关于按优先级分组。作为一个相对的初学者,我一直在通过视频教程学习,因此我不知道这样的记法。这现在完全有道理了。非常感谢你的澄清!@Sam-这就是记法惯例的问题。如果你不知道的话了解他们,你……不了解他们。他们不太容易被发现。:-)
.map(function callback(currentValue, index) { ... })
.map(function callback(currentValue, index, array) { ... })