JavaScript函数参数数组arguments

JavaScript自学笔记(七)

arguments参数数组

JavaScript的函数不像其他大多数语言那样对向函数传递的参数有那么严格的要求。JavaScript函数不介意传递进多少个参数也不在乎参数的数据类型。因为传递的参数在内部用一个数组来表示,函数接收的也是这个数组,不关心数组里的元素,如何访问这个参数数组就要用到arguments对象。

arguments对象的调用

与数组类似,利用方括号加下标调用

function sayHello(){
	alert("Hello " + arguments[0]);
}
sayHello("Rick","Morty");// Hello Rick

上面示例中,Rick是arguments的第一个参数下标为0,用arguments[0]调用。

arguments的length属性

和数组的length属性相同,可以返回arguments中有多少个元素。

function howManyArgs(){
	alert(arguments.length);
}
howManyArgs("string",25);// 2
howManyArgs();// 0
howManyArgs(11);// 1

使用过程中的注意点

利用length属性结合判断语句可以对函数中接受不同参数数量实现各种功能

function doSomething(){
	if(arguments.length == 1){
		statement1;
	}else if(arguments.length == 2){
		statement2;
	}
}

arguments对象可以和命名参数一起使用

function add(num1,num2){
	if(arguments.length == 1){
		alert(arguments[0] + num1);
	}else if(arguments.length == 2){
		alert(arguments[0] + num2);
	}
}
add(10);// 20
add(10,20)// 30

注意:arguments对象中的值会自动反映到对应的命名参数,所以修改arguments[1]也会修改num2,但这两个值的内存空间是独立的,只是它们的值会同步。没有传递值的命名参数会被自动赋予undefined值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值