“ arguments”关键字如何在Javascript中起作用?

时间:2019-03-16 21:40:51

标签: arrays arguments

我遇到了这个小练习,我不确定“ arguments”关键字在这里的工作方式以及为什么(... arr)放在a的声明括号之外的原因... < / p>

var arr = ["tic", "tac", "toe"];
var a = (
    function() {
    return arguments[2];
    }
)(...arr);
console.log(a);

由于我不确定我真正要寻找的是什么,请您解释一下或指出我的相关信息吗?谢谢。

1 个答案:

答案 0 :(得分:0)

arguments是传递给当前函数的参数数组。在上面的代码示例中,括号内的函数以...args作为参数被调用。

在JS中,您无需命名函数即可调用它。上面的代码等效于以下代码:

var arr = ["tic", "tac", "toe"];
var callme = function() {
    return arguments[2];
}
var a = callme(...arr);
console.log(a);

函数调用中的参数以“扩展语法”传递。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax

因此,该函数将以arr的值作为参数进行调用,并返回第三个参数arguments[2]