对arguments对象的个人理解

重点 :

  • 形参只提供便利,但不是必须的
  • arguments对象的length由实参的个数决定,而不是形参的个数决定
  • 每个实参都与arguments[i]一一对应
  • arguments与形参访问的内存空间是独立的

1.传入实参个数等于形参个数时:

function doAdd(num1,num2)
        {
            arguments[1]=10;

            alert(num2);//result=10
        }
        doAdd(0,0);
function doAdd(num1,num2)
        {
            num2=10;
            alert(arguments[1]);//result=10
        }
        doAdd(0,0);

形参值及其对应的arguments值会互相影响

2.传入实参个数大于形参个数时:

function doAdd(num1,num2)
        {
            arguments[1]=10;
            alert(num2);//result=10
        }
        doAdd(0,0,0);
function doAdd(num1,num2)
        {
            num2=10;
            alert(arguments[1]);//result=10
        }
        doAdd(0,0,0);

3.传入实参个数小于形参个数时:

function doAdd(num1,num2)
        {
        	arguments[0]=11;
        	alert(num1);//result=11
            arguments[1]=10;
            alert(num2);//result=undefined
        }
        doAdd(0);
function doAdd(num1,num2)
        {
        	num1=11;
        	alert(arguments[0]);//result=11
            num2=10;
            alert(arguments[1]);//result=undefined
        }
        doAdd(0);

这种情况下num2会被赋值为undefined,且num2的值与arguments[1]不能互相影响;
而num1与arguments[0]的值仍然会互相影响

综上所述:只要确定min[形参个数,实参个数]就可以很容易的发现哪些形参与其对应的arguments会相互影响

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值