每日一题 2020-11-19
以下函数会打印什么?
function b(x, y, a){
arguments[2] = 10;
console.log(arguments[2]);
a = 20;
console.log(arguments[2]);
}
b(1, 2, 3);
答案: 10 20
解析:
- js非严格模式下 函数中的形参变量和aguments存在映射机制(映射:相互之间影响)
arguments 和 形参 之间会互相影响 其中一个更改,另外一个也会更改
- js严格模式下 arguments不会产生映射机制,同时arguments.callee不能使用

浙公网安备 33010602011771号