为了账号安全,请及时绑定邮箱和手机立即绑定

关于arguments数组

标签:
JavaScript

先不多说,先写一段代码,后面的在详细的额说明
---------------------------------------正文分割线-----------------------------------------------------------------------------
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>
对于documents数组的实验
</title>
</head>
<body>
<p>求逗比的数量</p>
<script>
var sum=function(){
var sum=0,i;
for(i=0;i<arguments.length;i+=1)
{
sum+=arguments[i];
}
return sum;
};
document.write(sum(12,13,14,15,16));
</script>
</body>
</html>
这个是最近自己在看arguments数组的一点收获,可能有的人知道,但是我觉得可能有的人还理解的不是很好,所以我在这里写点关于自己的理解。
提到arguments数组那么我们不得不提到我们的JavaScript中的有关参数的要求,由于JavaScript的语言特性,我们可以传入若干个形参(这里说形参好像不太准确,但是为了理解先这样叫吧。)而且JavaScript不会管你的这些形参到底是用还是不用,同样更不会管你到底是用几个,但是我们所有的传入的参数都保存在arguments数组当中,也就是说我们给某个函数每一个形参,都存在arguments数组当中,我们可以在函数体内通过arguments的对象访问这个参数数组,从而获得传递给参数的每一个参数。
那么现在问题来了,看看arguments数组的特性你会发现我们可以根据arguments的length属性来获取我们到底传入了几个形参。这就很有意思了,JavaScript表示我这个语言没有重载,但是机智的设计师表示你可以用“伪重载”啊,那么这个就很好玩,我们同样可以类似于java的重载写一段“伪重载”代码,来实现相应的识别调用
-------------------------------------------------------------代码分割线-------------------------------------------------------------------
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>伪重载的实现</title>
</head>
<body>
<script>
function sum(){
if(arguments.length==1)
{
alert(arguments[0]+10);
}
if(arguments.length==2)
{
alert(arguments[0]+arguments[1])
}
}
sum(30,20);
</script>
</body>
</html>
如果大家有觉得有什么不对的,欢迎指出

点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消