arguments对象及其应用

arguments对象

一、概念:
函数内置的一个类数组对象,存储了所有的实参。

二、属性:
实参个数:arguments.length
形参个数:函数名.length

arguments应用实例

实例一:定义一个函数,求两个数的和

function getSum(num1,num2){
	console.log(arguments.length); //打印实参的个数
	console.log(getSum.length);
	if(arguments.length === getSum.length){ //判断实参和形参个数是否一致,若一致,求和,否则提示错误
		console.log(num1+num2);
	}else{
		alert("实参和形参个数不一致");
	}
}

实例二:定义一个函数,求任意数的和

function getSum2(){
	var res = 0;
	for(var i=0; i<arguments.length; i++){
		res += arguments[i];
	}
	alert(res);
}

getSum2(1,2,3,4,5);

函数重载问题

函数的重载
函数名相同但参数个数不同的多个函数,传入不同的参数个数会调用对应的不同的函数。叫做函数的重载。

但是在js中,当代码中前后出现两个函数名相同但是参数不同的函数时,后边的函数会将前边的函数覆盖,达不到重载的目的。arguments可以帮助我们解决函数重载的问题。
继续拿上边的例子说明:

function getSum2(){
	var res = 0;
	for(var i=0; i<arguments.length; i++){
		res += arguments[i];
	}
	alert(res);
}

getSum2(1,2,3,4,5); //传入五个实参,得到五个实参相加的和
getSum2(1,2); //传入两个实参,得到两个实参相加的和

猜你喜欢

转载自blog.csdn.net/xiamoziqian/article/details/86595534