🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
arguments对象的0...n属性用于返回调用当前函数所传入的参数。访问arguments的这些属性类似于访问数组中的元素。 该属性属于arguments对象,每个函数在被调用时,都有一个内置的arguments对象。所有主流浏览器均支持该属性。 ## 语法 ``` [functionObject.]arguments[ n ] ``` ## 参数 | 参数 | 描述 | | --- | --- | | n | Number类型传入参数的顺序索引,第一个参数的索引为0。 | 参数n应该是在 0 到 arguments.length-1 范围内的整数。其中,0表示传入的第一个参数,1表示传入的第二个参数……arguments.length-1表示传入的最后一个参数。如果参数n超出该范围,将返回undefined。 ## 返回值 0...n的值为任意类型,返回调用当前函数所传入的第n + 1个参数。 由0...n属性返回的值就是传递给正在执行的当前函数的参数值。虽然arguments对象不是数组,但访问组成arguments对象的各个元素的方法与访问数组元素的方法相同。 ## 示例&说明 ``` function test(){ // 循环输出调用当前函数时传入的参数 for(var n = 0; n < arguments.length; n++){ document.write( arguments[n] + "|"); } document.write('<br>'); // 输出换行符进行区分 }; test(); // (空字符串) test("Code", "365mini.com", 12, true); // Code|365mini.com|12|true| test("张三", false, 12.315); // 张三|false|12.315| function foo(){ // arguments前也可以加上函数名称 for(var n = 0; n < foo.arguments.length; n++){ document.write( foo.arguments[n] + "|"); } document.write('<br>'); }; foo("Hello", "World"); // Hello|World| // 使用arguments对象实现任意多个数的求和 function sum(){ var sum = arguments[0]; for(var n = 1; n < arguments.length; n++){ sum += arguments[n]; } return sum; } document.writeln( sum() ); // undefined document.writeln( sum( 1, 5 ) ); // 6 document.writeln( sum( 1, 212, 21, -14, 23 ) ); // 243 ```