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

时间:2018-07-25 16:57:08

标签: javascript syntax

MDN Web Documentation描述了在JavaScript标准内置对象方法中使用的语法,并使用方括号将可用参数分组。

例如:

var new_array = arr.map(function callback(currentValue[, index[, array]]) {
// Return element for new_array
}[, thisArg])

这使我在阅读文档时有些困惑,我无法理解用括号将参数分组的目的。

例如,在上面的示例中,为什么将索引和数组参数分组为这样。

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

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

1 个答案:

答案 0 :(得分:0)

试图表明它们是可选的。你可以做

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

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

.map(function callback(currentValue, index, array) { ... })

完全取决于您以及回调中需要的内容。

这种特殊情况并没有太大用,因为无论您声明callback接受多少形式参数,您的 var pollPoll = document.createElement("div"); var pollOptionA = document.createElement("input"); pollOptionA.id = "optionA"; pollOptionA.type = "radio"; pollOptionA.value = poll.value; pollPoll.appendChild(pollOptionA); var optionA = document.createElement("span"); optionA.innerHTML = poll.options[0]; pollPoll.appendChild(optionA); var breakLine1 = document.createElement("br"); pollPoll.appendChild(breakLine1); var pollOptionB = document.createElement("input"); pollOptionB.id = "optionB"; pollOptionB.type = "radio"; pollOptionB.value = poll.value; pollPoll.appendChild(pollOptionB); var optionB = document.createElement("span"); optionB.innerHTML = poll.options[1]; pollPoll.appendChild(optionB); var breakLine2 = document.createElement("br"); pollPoll.appendChild(breakLine2); var pollOptionC = document.createElement("input"); pollOptionC.id = "optionC"; pollOptionC.type = "radio"; pollOptionC.value = poll.value; pollPoll.appendChild(pollOptionC); var optionC = document.createElement("span"); optionC.innerHTML = poll.options[2]; pollPoll.appendChild(optionC); var breakLine3 = document.createElement("br"); pollPoll.appendChild(breakLine3); var pollOptionD = document.createElement("input"); pollOptionD.id = "optionD"; pollOptionD.type = "radio"; pollOptionD.value = poll.value; pollPoll.appendChild(pollOptionD); var optionD = document.createElement("span"); optionD.innerHTML = poll.options[3]; pollPoll.appendChild(optionD); var breakLine4 = document.createElement("br"); pollPoll.appendChild(breakLine4); 都会始终。但是这种表示法,将可选参数放在方括号中,在指示函数需要什么与可选函数时相当普遍。