Js中的arguments参数

类数组对象:arguments

封装实参的对象arguments

为什么要有arguments

JavaScript并没有重载函数的功能,但Arguments对象能够模拟重载。
JavaScript中每个函数都有Arguments对象实例arguments
arguments.length 为函数实参个数
arguments.callee 为引用函数自身

arguments特性

arguments和function生死相依

使用方法

跟数组一样使用

callee属性,返回正被执行的Function对象

针对同个方法多处调用并且传递参数个数不一样时进行使用
var sum = function(n) {
if (1 == n){
return 1;
} else {
return n + arguments.callee(n-1);
}
}
alert(sum(6)); // 21

1. 利用arguments实现方法的重载

function add() {
	var len = arguments.length;
	var sum = 0;
	for(;len--;) {
		sum += arguments[len];
	}
	return sum;
}
console.log( add(1, 2, 3) );
console.log( add(1, 3) );

2. 利用callee实现递归

function factorial(num) {
if(num <= 1) {
return 1;
} else {
return num + arguments.callee(num-1);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值