arguments对象

什么是重载?

程序中定义多个相同的函数名,不同参数列表的函数,调用者不必区分每个函数的参数,执行时,程序根据传入的参数个数,自动执行。

js语法不支持重载!但可用arguments对象模拟重载效果。

arguments对象:

在函数对象内自动创建,专门接受所有参数值的类数组对象。

arguments对象具有如下属性:

—— length:返回实际传入的参数的个数

—— callee:返回当前函数的应用(匿名函数可以使用该属性实现递归调用)

arguments.length:获得传入的参数个数

arguments[i]:获得某个参数值

即时定义了参数变量,arguments对象同样会收到所有参数值

js模拟函数如下:

function calc(   ){
		//如果用户传入一个参数,求平方
		if(arguments.length==1){
			alert(arguments[0]*arguments[0]);
		}else if(arguments.length==2){
		//如果用户传入两个参数,就求和
			alert(arguments[0]+arguments[1]);
		}
	}
calc(4); //16
calc(4,5); //9

猜你喜欢

转载自blog.csdn.net/qq_39579242/article/details/81540554