关于arguments的新理解

function test( a, b){
    arguments[0] = 1
    arguments[1] = 9
    console.log("a",a);  //1
    console.log("b",b);  //undefined
    console.log("形参长度",test.length);  //2
    console.log("实参长度",arguments.length);  //1
    console.log("实参数组",arguments);  //[1,9]
}
test(2);

我很不懂为何b是undefined呢?
既然a能从新赋值,为啥b不能?数组

原本我是认为a,b分别对应arguments[0]和arguments[1],通过一番研究这是不彻底正确的code

arguments第一个值就是a,b没有传值没有存储到arguments,不管arguments怎样赋值 b都是undefind。
终于解决了心头大石io

相关文章
相关标签/搜索