• 使用 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
    }
  • 相关阅读:
    FAQ接口自动化_转载参考
    FAQ接口自动化_报错解决
    SpringBootRESTfulAPI平台项目-演示版01
    SpringBoot08_mysql操作
    SpringBoot07_RESTful API:获取girls表的内容
    SpringBoot06_程序自动化创建/更新数据库里的表信息
    mysqldump
    js 原型链
    node.js 事件发射器模式
    codeblocks 支持c++11
  • 原文地址:https://www.cnblogs.com/0428mm/p/15421553.html
Copyright © 2020-2023  润新知