使用 arguments

题目描述:函数useArguments可以接收1个及以上的参数。请实现函数useArguments,返回所有调用参数相加后的结果。本题测试参数全部为Number类型,不需考虑参数转换。

示例1:

输入:1, 2, 3, 4
输出:10

首先我们来先了解一下arguments,在了解之前我们先来认识一下js的一些功能

其实就是并没有重载函数的功能,但是Arguments对象能够模拟重载。js中每个函数都会有一个arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式‘[]’引用arguments的元素。arguments.length 为函数实参个数,arguments.callee引用函数自身。

arguments的特性

arguments对象和function是分不开的

因为arguments这个对象不能显示创建

arguments对象只有函数开始时才可用。

使用方法:

arguments对选哪个并不是一个数组,但是访问单个参数的方式与访问数组元素的方式相同

列如:

arguments[0]

 1 function test() {
 2         var s = "";
 3         for (var i = 0; i < arguments.length; i++) {
 4             alert(arguments[i]);
 5             s += arguments[i] + ",";
 6         }
 7         return s;
 8 }
 9 test("name", "age");
10 
11 输出结果:
12 name,age

下面我们来解决上面的例题

方法一:

1 function useArguments(){
2 let sum =0
3 for(let i=0;i<arguments.length;i++){
4 sum+=arguments[i]
5 
6 }
7 return sum
8 }

方法二:由于arguments只是类数组,并没有数组的一些方法,所以我们可以将arguments转换成数组进行累加

function useArguments() {
    let arr = [...arguments];
    let sum =0
    arr.forEach((ele,index)=>{
    sum+=ele

})
return sum
}
原文地址:https://www.cnblogs.com/0428mm/p/15421553.html