对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会相互影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值