封裝一個函數使得數組內的任意項求和

NO IMAGE

封裝函數

1、例如我們的需求是輸出sum( 1,3,NaN,'qqq','4')的和為8
function sum() {
var t = 0
for (var i = 0; i < arguments.length; i++) {
//arguments[i]對應的就是每一個實參
//t+=arguments[i] //不考慮非合法數字
if (!isNaN(arguments[i])) {
//得是數字而且還不能是NaN
t += arguments[i] / 1
}
}
return t
}
console.log(sum(1, 3, NaN, 'qqq','4'))

關鍵點

此函數主要的關鍵點在 arguments[i] 這裡 arguments代表實參的集合在我們不知道到底需要多少實參時用arguments………
(注 arguments在箭頭函數中不存在所以不能在箭頭函數中使用)

其次 for (var i = 0; i < arguments.length; i++)這段代碼是循環需要的實參相加
if (!isNaN(arguments[i]))判斷其中每一個實參是否是數字且不是NaN(因為NaN和任何數字運算都是NaN)

t += arguments[i] / 1這段代碼的作用是把不是NaN的項相加 其中/的作用是將字符串型的數字轉成Number類型

相關文章

用正則驗證身份證,手機號的合法性(寬鬆)

call、apply、bind學不會,來砍我!!!!——輕生前端

選項卡的製作

封裝函數製作四位的隨機且不重複的驗證碼