任意数求和的方法

882 阅读1分钟

任意数求和是js里面一个重要是的知识点,经常会遇如下问题:

sum('1','w',2,5,'q',NaN)

arguments 任意数求和:不管函数执行的时候,传递多少实参值进来,我们都可以求和。 要想做到求和,我们需要使用到 for 循环,所以要首先判断循环的轮数,然后再进行判断,是否能够累加。 如下:

function sum(){
        var num = 0;
        for (var i = 0;i<arguments.length;i++){
            //加之前 先判断一下  能不能累加
            if(typeof arguments[i] ==='number' && !isNaN(arguments[i])){
                num = num + arguments[i]
            }
           
        }
        return num;
    }
   console.log(sum('1','w',2,5,'q',NaN))

这里用到了函数的相关知识点,若 number 和 isNaN。

isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果)。 如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。