做文明人網(wǎng)站專題百度推廣怎么做效果好
一、情景
一般實現(xiàn)的加法和減法等簡單的相加減函數(shù)的話。一般都是寫好固定傳的參數(shù)。比如:
function add(a,b) {return a + b;}
這是固定的傳入倆個,如果是三個呢,有人說當(dāng)然好辦!
這樣寫不就行了!
function add(a,b,c) {return a + b + c;}
但是如果是多個呢,我想傳多少個都行呢,這種就不能算是已知參數(shù)個數(shù),進(jìn)行固定設(shè)置了。
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可以幫助你實現(xiàn)。
我們先來看看arguments是什么東西
?
在 JavaScript 中,arguments
是一個類數(shù)組對象,它包含了傳遞給函數(shù)的所有參數(shù)。它允許你在函數(shù)內(nèi)部訪問所有傳入的參數(shù),即使在定義函數(shù)時沒有明確列出這些參數(shù)。這對于處理不固定數(shù)量的參數(shù)特別有用。?
那么就好辦了,隨便寫個循環(huán)就實現(xiàn)遍歷相加等操作了,都可以在函數(shù)內(nèi)拿到所有參數(shù)。
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的結(jié)果",sum);}add2(1,2,3,4,5)
使用es語法的展開運算符也行!