一、情景
一般实现的加法和减法等简单的相加减函数的话。一般都是写好固定传的参数。比如:
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语法的展开运算符也行!