【问题标题】:How does "arguments" keyword work in Javascript?“参数”关键字在 Javascript 中如何工作?
【发布时间】:2019-08-07 15:56:14
【问题描述】:

我遇到了这个小练习,我不确定“arguments”关键字在这里是如何工作的,以及为什么 (...arr) 被放置在它在 a 声明括号之外的位置...

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

由于我不确定我真正在寻找什么,您能否解释一下或指出相关来源?谢谢。

【问题讨论】:

    标签: arrays arguments


    【解决方案1】:

    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]

    【讨论】:

      猜你喜欢
      • 2010-09-13
      • 1970-01-01
      • 2019-05-31
      • 1970-01-01
      • 2014-08-18
      • 2020-12-16
      • 1970-01-01
      相关资源
      最近更新 更多