arguments实参小应用

arguments代表的是实际传递的参数:

fn1( 1,2,3 );				// 实参——实际传递的参数
function fn1(){
	aler(arguments[0]);            // arguments => [ 1,2,3 ] —— 实参的集合
}

主要用在当实参数无法确定时。

下面写了一个小练习(加减简单计算器):

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<script type="text/javascript">
	function count() {
		var num = 0;
		var b = arguments.length-1;                  //简化代码
		if (arguments[b] == '+') {                   //数组最后一位是加
			for (var i = 0; i < b; i++) {
				num += arguments[i];
			}
		}
		else if (arguments[b] == '-') {               //数组最后一位是减
			for (var i = 1; i < b; i++) {
				num += arguments[i];          //把除了数组第一个数字剩下的数字相加
			}
			num = arguments[0]-num;                //用第一个数字减后面数字相加的和
		} 
		return num;                                    //最后返回num
	}
	alert(count(1,1,1,2,3,'+'));        //8
	alert(count(10,5,2,1,'-'));         //2
</script>
</body>
</html>

还有一道相关的题:

var a = 1;
function fn2( a ){
	arguments[0] = 3;
	alert(a);	            // 3
	var a = 2;
	alert( arguments[0] );	    // 2     上一条语句的优先级大于去实参数组里找a
}
fn2(a);
alert(a);	                    // 1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值