企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
arguments属性是正在执行的函数的内置属性,返回该函数的arguments对象。arguments对象包含了调用该函数时所传入的实际参数信息(参数个数、参数值等)。 该属性属于Function对象,所有主流浏览器均支持该属性。 ## 语法 ``` [functionObject.]arguments ``` 只有在当前函数正在执行时该属性才有效。 ## 返回值 arguments属性的值为Object类型,返回正在执行的当前函数的arguments对象。 arguments对象包含调用该函数时所传入的实际参数信息,例如:参数的个数和参数的值。我们可以通过arguments属性让函数处理可变数量的参数。 arguments对象有以下三个属性: - length属性,返回实际传入的参数个数。 - callee属性,返回当前函数的引用(匿名函数可以使用该属性实现递归调用)。 - 0...n属性,以顺序索引访问传入的具体参数。例如,使用arguments[0]可以访问传入的第1个参数,arguments[1]可以访问传入的第2个参数。 arguments对象具有length属性和0...n属性,看起来与数组的访问方式相同,但arguments并不是数组,它没有数组对象所具备的其他成员属性和方法。 ## 示例&说明 ``` function test(){ document.writeln("实际传入的参数个数:" + arguments.length); // 实际传入的参数个数:3 /* "test."可以省略 */ for(var i = 0; i < test.arguments.length; i++){ document.writeln("传入的第" + (i + 1) +"个参数:" + arguments[i]); } // 传入的第1个参数:1 传入的第2个参数:张三 传入的第3个参数:true // callee属性返回的就是当前函数 document.writeln( arguments.callee === test ); // true }; test(1, "张三", true); ```