zoukankan      html  css  js  c++  java
  • (三十六)类数组对象arguments

    类数组对象:arguments

    在函数调用时,我们总能见到arguments这个对象,它具体是用来干什么的呢?感觉逼格非常高呢
    • 函数在使用时,我们总会位函数传入各种参数,arguments会将参数储存起来以便我们使用,下标从0开始。返回值还有数组的长度。
    function a() {
        console.log(arguments);
    }
    a(1,2,3,4,5)
    可以看到打印结果位:
    • 使用情景
    • 在函数传参的时候,不必要指明参数名称,可以使用arguments来确定
    • 有些语言在我们给函数指定了参数名之后,当调用函数时,会判断当前传入的参数是否与函数定义的参数个数相等,不相等就会报错,但是灵活的js(不是我说,js是真的灵活)并不会验证传递给函数的参数个数是否等于函数定义的参数个数。所以为了装逼(代码的简洁度),我们使用arguments调用参数可以不混淆不同函数之间的参数名。另外为了装逼(代码的严整度),我们也能用arguments来判断当前传入参数的个数是否与我们需要的数量一致。
    function add() { 
        if( arguments.length == 2 ){
            return arguments[0] + arguments[1];
        }else{
            return '传入参数不合法';
        }
    }
    console.log( add(2,3) ); //5
    console.log( add(1,2,3) );//传入参数不合法
    

      

    arguments封装一个数字相加的方法
    function add() {
    var len = arguments.length,
    sum = 0;
    for(;len--;){
    sum += arguments[len];
    }
    return sum;
    }
    console.log( add(1,2,3) ); //6
    console.log( add(1,3) ); //4
    console.log( add(1,2,3,5,6,2,7) ); //26
    

      

  • 相关阅读:
    新建maven web工程报错
    Linux的系统suspend和resume
    Linux内核配置---menuconfig
    printk()函数学习笔记
    驱动调试笔记
    i2c接口笔记
    无线路由器的加密模式WEP,WPA-PSK(TKIP),WPA2-PSK(AES) WPA-PSK(TKIP)+WPA2-PSK(AES)。
    Linux下sniffer实现(转)
    驱动模块(3)——Linux交叉编译工具链
    ehci ohci 驱动逻辑
  • 原文地址:https://www.cnblogs.com/bgwhite/p/9405830.html
Copyright © 2011-2022 走看看