一、情景
一般实现的加法和减法等简单的相加减函数的话。一般都是写好固定传的参数。比如:
function add(a,b) {
return a + b;
}
这是固定的传入俩个,如果是三个呢,有人说当然好办!
这样写不就行了!
function add(a,b,c) {
return a + b + c;
}
但是如果是多个呢,我想传多少个都行呢,这种就不能算是已知参数个数,进行固定设置了。
add(1,2)
add(1,2,3)
add(1,2,4)
add(1,2,3,4)
add(1,2,3,4,5)
add(1,2,3,4,5,...)
二、arguments
但是arguments可以帮助你实现。
我们先来看看arguments是什么东西
在 JavaScript 中,arguments
是一个类数组对象,它包含了传递给函数的所有参数。它允许你在函数内部访问所有传入的参数,即使在定义函数时没有明确列出这些参数。这对于处理不固定数量的参数特别有用。
那么就好办了,随便写个循环就实现遍历相加等操作了,都可以在函数内拿到所有参数。
function add () {
console.log(arguments);
let sum = 0;
for (let index = 0; index < arguments.length; index++) {
sum+= arguments[index]
}
console.log(sum);
}
add(1,2,3,4)
三、es6语法
function add2(...nums) {
let sum = 0;
for(let num of nums) {
sum += num
}
console.log("add2的结果",sum);
}
add2(1,2,3,4,5)
使用es语法的展开运算符也行!