arguments 笔试题
作者:互联网
记录一道笔试题
function side(arr) {
arr[0] = arr[2];
}
function func1(a, b, c = 3) {
c = 10;
side(arguments);
console.log(a + b + c);
}
function func2(a, b, c) {
c = 10;
side(arguments);
console.log(a + b + c);
}
func1(1, 1, 1); // 12 a:1, b:1, c:1
func2(1, 1, 1); // 21 a:10, b:1, c:10
原因在于 func1
给了 c
默认值,进入了严格模式,而严格模式下实参和 arguments
是不会共享的。
参考资料
标签:function,10,arr,笔试,func1,arguments,side 来源: https://blog.csdn.net/weixin_44335776/article/details/123580212