• arguments对象


    arguments对象是所有(非箭头)函数中都可用的局部变量,可以使用arguments对象在函数中引用函数的参数。

    该对象可以获取函数的参数值和参数长度。

    如:arguments[0]、arguments[1]、arguments.length

    arguments对象不是一个数组,它是类数组,但除了length属性和索引之外没有array的其他属性,例如pop方法。但可以转换为一个真正的Array:

    法1:var args=Array.prototype.slice.call(arguments);

    法2:var args=[].slice.call(arguments);

    法3:const args=Array.from(arguments);

    法4:const args=[...arguments];

    例子

    遍历参数求和

    function add() {
                var sum=0;
                var len=arguments.length;
            for(var i=0;i<len;i++){
                sum+=arguments[i];
             }
            alert(sum);
        }
        add();//0
        add(1);//1
        add(1,2,3,4);//10

     arguments对象的callee属性返回正在被执行的Function对象,callee属性是arguments对象的一个成员,仅当相关函数正在执行时才可用。

    callee属性的初始值就是正在被执行的Function对象,这允许匿名的递归函数

    var sum = function (n) {
            if (1 == n) {
                return 1;
            } else {
                return n + arguments.callee(n - 1);
            }
        }
        alert(sum(6));

    arguments.caller指向调用当前函数的函数

  • 相关阅读:
    NameError:name ‘xrange’ is not defined
    CNN卷积核反传分析
    在定义卷积时为什么要对其中一个函数进行翻转
    Python的浮点数损失精度问题
    Python实现im2col和col2im函数
    2018.04.19
    4 Git 基础
    Clash Royale开发日志
    2018-04-12
    python urllib2
  • 原文地址:https://www.cnblogs.com/xiaoan0705/p/10453052.html
Copyright © 2020-2023  润新知