zoukankan      html  css  js  c++  java
  • JavaScript之arguments

    Javascrip中国每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。

    arguments他的特性和使用方法

    特性:

    arguments对象和Function是分不开的。因为arguments这个对象不能显式创建,arguments对象只有函数开始时才可用。

    使用方法:

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

    例如:

    arguments[0],arguments[1],。。。。。。。。arguments[n],

    在js中 不需要明确指出参数名,就能访问它们,例如:

    function test() {
            var s = "";
            for (var i = 0; i < arguments.length; i++) {
                alert(arguments[i]);
                s += arguments[i] + ",";
            }
            return s;
        }
    
    test("name", "age")

    输出结果:

    name,age

    下面我们来看看callee属性,返回正被执行的Function 对象,
    也就是所指定的 Function 对象的正文。callee 属性是 arguments 对象的一个成员,仅当相关函数正在执行时才可用。
    callee 属性的初始值就是正被执行的 Function 对象,这允许匿名的递归函数。

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

    输出结果:

    21

     通俗一点就是,arguments此对象大多用来针对同个方法多处调用并且传递参数个数不一样时进行使用。根据arguments的索引来判断执行的方法

  • 相关阅读:
    在iview admin中封装axios请求
    git使用
    css选择器
    vue打包空白及字体路径错误问题
    axios 等待同步请求用法及多请求并发
    在Vuex更新,组件内的视图更新问题
    vue中用ajax上传文件
    在vue中使用lang="scss"出现报错解决思路
    HBuilder打包vue项目app后空白,并请求不到数据
    接口里返回的数据不全问题
  • 原文地址:https://www.cnblogs.com/zyxiaohuihui/p/8430962.html
Copyright © 2011-2022 走看看