社区脚本中心 → 浏览:帖子主题
* 帖子主题:JavaScript arguments.0...n 属性详解
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1226
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2024-04-14 23:29:32
[ 第 1 楼 ] 回复
arguments对象的0...n属性用于返回调用当前函数所传入的参数。访问arguments的这些属性类似于访问数组中的元素。

该属性属于arguments对象,每个函数在被调用时,都有一个内置的arguments对象。所有主流浏览器均支持该属性。
语法
复制
JavaScript:

[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对象的各个元素的方法与访问数组元素的方法相同。
示例&说明
复制
JavaScript:

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

2023-01-03 11:20:37 IP:已设置保密
分页: 1, 共 1 页
快速回复主题
账号/密码
用户: 没有注册?密码:
评论内容