Java教程

arguments 笔试题

本文主要是介绍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 是不会共享的。

参考资料

  • JavaScript深入之类数组对象与arguments
这篇关于arguments 笔试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!