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。终于解决了心头大石