关于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],经过一番研究这是不完全正确的
arguments第一个值就是a,b没有传值没有存储到arguments,无论arguments怎样赋值 b都是undefind。终于解决了心头大石

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理