请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

arguments 值 两次为啥不一样

// c有默认值的情况
function side1(arr) {
arr[0] = arr[2];
}
function a(a, b, c = 3) {
c = 10;
side1(arguments); // 这里传过去的值是 1,1,1 , 为什么??
return a + b + c;
}
console.log(a(1, 1, 1));

// c没有默认值的情况
function side2(arr) {
arr[0] = arr[2];
}
function b(a, b, c) {
c = 10;
side2(arguments); // 这里传过去的值是 1,1,10 , 为什么??不要告诉我因为没有默认值
return a + b + c;
}
console.log(b(1, 1, 1));

正在回答

1回答

关于默认参数与arguments,分为两种情况,严格模式和非严格模式,可以看看文档:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/arguments


0 回复 有任何疑惑可以回复我~
  • 提问者 芥子1204 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-04-28 10:43:44
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号