JavaScript Function.arguments 属性详解

语法

[functionObject.]arguments

arguments属性是正在执行的函数的内置属性,返回该函数的arguments对象。arguments对象包含了调用该函数时所传入的实际参数信息(参数个数、参数值等)。javascript

该属性属于Function对象,全部主流浏览器均支持该属性。java

返回值

arguments属性的值为Object类型,返回正在执行的当前函数的arguments对象。数组

arguments对象包含调用该函数时所传入的实际参数信息,例如:参数的个数和参数的值。咱们能够经过arguments属性让函数处理可变数量的参数。浏览器

arguments对象有如下三个属性:函数

  • length属性,返回实际传入的参数个数。
  • callee属性,返回当前函数的引用(匿名函数能够使用该属性实现递归调用)。
  • 0...n属性,以顺序索引访问传入的具体参数。例如,使用arguments[0]能够访问传入的第1个参数,arguments[1]能够访问传入的第2个参数。

arguments对象具备length属性和0...n属性,看起来与数组的访问方式相同,但arguments并非数组,它没有数组对象所具有的其余成员属性和方法。spa

示例&说明

function test(){
    console.log(arguments.length); // 实际传入的参数个数:3
    /* "test."能够省略 */
    for(var i = 0; i < test.arguments.length; i++){
        console.log("传入的第" + (i + 1) +"个参数:" + arguments[i]);  
    }
    // 传入的第1个参数:1 传入的第2个参数:张三 传入的第3个参数:true
    
    // callee属性返回的就是当前函数
    console.log( arguments.callee === test ); // true
};


test(1, "张三", true);
相关文章
相关标签/搜索