MDN Web Documentation描述了在JavaScript标准内置对象方法中使用的语法,并使用方括号将可用参数分组。
例如:
var new_array = arr.map(function callback(currentValue[, index[, array]]) {
// Return element for new_array
}[, thisArg])
这使我在阅读文档时有些困惑,我无法理解用括号将参数分组的目的。
例如,在上面的示例中,为什么将索引和数组参数分组为这样。
callback(currentValue[, index[, array]])
非常感谢您的时间和帮助。
答案 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);
都会始终。但是这种表示法,将可选参数放在方括号中,在指示函数需要什么与可选函数时相当普遍。