函数中剩余的参数可以用...
符号来放入一个数组张
function containsAll(haystack, ...needles) {
for (var needle of needles) {
if (haystack.indexOf(needle) === -1) {
return false;
}
}
return true;
}
如果调用containsAll("banana", "b", "nan")
,needles
会被设置为["b", "nan"]
。
只有最后一个参数可以被设置为rest参数
默认参数
函数参数可以设置默认参数
function animalSentence(animals2="tigers", animals3="bears") {
return `Lions and ${animals2} and ${animals3}! Oh my!`;
}
位置靠后的参数的默认值可以使用前面参数的值
function animalSentenceFancy(animals2="tigers",
animals3=(animals2 == "bears") ? "sealions" : "bears")
{
return `Lions and ${animals2} and ${animals3}! Oh my!`;
}
传递undefined
等同于没有传参数,会使用默认值