js arguments的使用

1.在函数代码中,使用特殊对象arguments,开发者无需明确指出参数名,就能访问它们。
1.1方法定义
function testArguments() {
var obj = arguments;
alert(obj[1]);
}
1.2方法调用
testArguments('zhang', 'quan');调用方法alert出的是“quan”,obj[1]会使用第二个参数。如果越界,即obj[2]或其它的类似越界方式,由于没有传递相应的参数,则返回undefined。
2.还可以用 arguments 对象检测函数的参数个数,引用属性 arguments.length 即可。
2.1方法定义
function testArguments() {
var obj = arguments;
alert(obj.length);
}
2.2方法调用
testArguments('zhang', 'quan');调用方法alert出的是传递的参数个数2.
注意:js不会验证传递给函数的参数个数是否等于函数定义的参数个数。开发者定义的函数都可以接受任意个数的参数(根据 Netscape 的文档,最多可接受 255 个),而不会引发任何错误。任何遗漏的参数都会以 undefined 传递给函数,多余的函数将忽略。
3.在js中不存在方法重载,后定义的方法会把先定义的方法覆盖掉,使其失去作用,使用argumengs参数查看参数个数可以模拟重载的效果。
3.1方法调用
testArguments('zhang','quan');
3.2失去作用的方法,被覆盖
function testArguments(zhang, quan) {
alert(zhang + ';' + quan);
}
3.3后定义的方法,起作用
function testArguments() {
var obj = arguments;
if(obj.length == 0) {
return;
}
if(obj.length == 1) {
alert(obj[0]);
return;
}
alert(obj[0] + '===' + obj[1]);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

链诸葛

真爱了。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值