一、情景
一般實現的加法和減法等簡單的相加減函數的話。一般都是寫好固定傳的參數。比如:
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語法的展開運算符也行!