您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年08月10日 11:08

原创 JavaScript arguments.0...n 属性详解

3131 次浏览 读完需要≈ 5 分钟

内容目录

arguments对象的0...n属性用于返回调用当前函数所传入的参数。访问arguments的这些属性类似于访问数组中的元素。

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

语法

[functionObject.]arguments[ n ]

参数

参数 描述
n Number类型传入参数的顺序索引,第一个参数的索引为0。

参数n应该是在 0arguments.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

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单