今天笔试遇到的一道题,我想知道为什么当给参数设置了默认值之后,使用arguments会发生这么大的不同?
let change = (arr)=>arr[0] = arr[2];
function sum1(a,b,c = 5){
c = 10;
console.log(arguments);
change(arguments);
console.log(arguments);
console.log(a+b+c);
}
function sum2(a,b,c){
c = 10;
change(arguments);
console.log(a+b+c);
}
sum1(1,2,3); //13
sum2(1,2,3); //22