1.函数的形参默认是 undefined,怎么改成默认其他数据类型的呢?如下
function multiply(a, b = 1) {
return a * b;
}
multiply(5, 2); // 10
multiply(5); // 5
2.函数的实参个数不固定,怎么处理呢?如下
function multiply(multiplier, ...theArgs) {
return theArgs.map(function (element) {
return multiplier * element;
});
}
var arr = multiply(2, 1, 2, 3);
console.log(arr); // [2, 4, 6]
因为...thisArgs是个数组,所以可以使用任何数组方法(如果是arguments对象的话则需要额外转换成数组才行) 就像这样
function sortRestArgs(...theArgs) { var sortedArgs = theArgs.sort(); return sortedArgs; } alert(sortRestArgs(5,3,7,1)); // 弹出 1,3,5,7