js 函数实参列表arguments和形参的那点事儿

//如果实参和形参数量相等,那么形参和argments之间有种映射关系,形参变量值改变对应位置的arguments[i]也随之改变,反之亦然。

function test(a,b){
    b = 3;
    console.log(arguments[1]);   //3

    arguments[1] = 4;
    console.log(b);                    //4

}
test(1,2);

//如果实参比形参少,那么多余的形参和argments之间就没有了映射关系,即多余形参值得改变,对应位置的arguments[i]的值仍为undefined,反之亦然。

function test(a,b){
    //b = 3;
   // console.log(arguments[1]);   //undefined  

    arguments[1] = 4;
    console.log(b);                  //undefined  
}
test(1);

 

posted @ 2017-12-08 14:11  mary_zhang  阅读(1810)  评论(1编辑  收藏  举报