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],经过一番研究这是不完全正确的

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


CcChan
53 声望5 粉丝

« 上一篇
轮播图js
下一篇 »
apply与call方法