封装一个函数使得数组内的任意项求和

封装函数

一、例如咱们的需求是输出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在箭头函数中不存在因此不能在箭头函数中使用)bash

其次 for (var i = 0; i < arguments.length; i++)这段代码是循环须要的实参相加 if (!isNaN(arguments[i]))判断其中每个实参是不是数字且不是NaN(由于NaN和任何数字运算都是NaN)函数

t += arguments[i] / 1这段代码的做用是把不是NaN的项相加 其中/的做用是将字符串型的数字转成Number类型ui

相关文章
相关标签/搜索