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

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据