arguments 值 两次为啥不一样
来源:2-8 【学习任务】函数参数是否真的理解
芥子1204
2021-04-27
// 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
012021-04-28
相似问题