javascript---arguments对象的使用

1、任何函数内部都包含了arguments对象,其表现与数组类似,可以使用下标访问arguments的数据成员。

arguments主要用于保存调用函数的实际参数数据。

function test() {
    alert(arguments[0]); //1
    alert(arguments[1]); //2
}
test(1, 2, 3)

2、函数的形参(命名参数)列表也是保存传给函数的实参数据,arguments与形参数据是同步的。
arguments对象与形参并不是指向同一个内存空间,而是不同的内存空间而存储的数据是同步的。
修改arguments[n],相等于修改了第n个形参的值(假设从0开始),反过来同理。

function test(a, b, c) {
    arguments[1] = 1;
    alert(b); // 1
    alert(arguments[1]==b);// true


    b = 3;
    alert(arguments[1]); // 3
    alert(arguments[1]==b); //true
}
test(1, 2, 3)
3、如果传递给函数的实参少于形参,则arguments与未初始化的形参数据不会进行关联同步。

function test(a, b, c) {
    arguments[2] = 1;
    alert(c); // undefined
    alert(c == arguments[2]); // false


    c = 3;
    alert(c);//3
    alert(arguments[2]); // 1
}
test(1, 2);

4、arguments对象的属性
      length:传递给函数的实际参数个数
      callee:指向当前arguments所在的相应函数

function test(){
    alert(arguments.callee == test); //true
}
test();
5、简单的一个demo如下:

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>arguments</title>
	<script type="text/javascript">
		function test () {
			for (var i = 0; i < arguments.length; i++) {
				document.writeln("函数的参数个数是:"+arguments.length+";运行结果是:"+(arguments[i]+10)+".")
			};
		}
		test(10);//1;20
		test(10,20);//2:20和2:30
	</script>
</head>
<body>
</body>
</html>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值