JS-函数arguments

方法的重载

在Java中,同一个函数名,但是参数个数不一样,视为是两个函数。
也就是说,Java中能够定义两个同名的两个function,都是sum函数,java中是允许这么做的,因为参数个数不一样,这种现象叫做重载

function sum(a,b){
}
function sum(a,b,c){
}
JavaScript没有重载的概念
function fun(a, b) {
	alert('ab');
}

function fun(a, b, c) {
	alert('abc)
}
fun();

在JavaScript中, 只要是同名函数后面写的会覆盖前面写的;

arguments

JavaScript有一个非常强大的东西,就是每一个函数内部,都可以使用一个arguments这个类数组对象
这个arguments对象,就涵盖了所有实参

fun(45,436,457,34,23,12);

arguments[0]  // 45
arguments[1]  // 436
……
arguments[5]  //12

  • 如果函数里面有形式参数列表,那么是和arguments同步的
function fun(a,b){
	arguments[0] = 8;   //改变了第一个参数的值
	alert(a);		//8  ,弹出改变后的值
}
fun(45,436,457,34,23,12);
  • arguments的功能,是模拟函数的重载,使得同一个函数,根据参数个数的不同,有不同的作用
// 设计一个sum函数,如果传进来一个参数,就得到这个数字的加1;
// 如果是2个参数,那么返回两个数字的和
function sum(a,b){
	//如果实际参数的长度是1,说白了,你只传进来一个参数
	switch(arguments.length){
		case 1:
			return ++a;
			break;
		case 2:
			return a + b;
			break;
	}
}
sum(10);	// 11
sum(3, 4);	// 7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值