【问题标题】:is there any specific reason the syntax of for forEach is javascript is like this? [duplicate]forEach is javascript 的语法是这样的有什么具体原因吗? [复制]
【发布时间】:2019-04-25 21:59:42
【问题描述】:

JavaScript 新手警报!!! 我们使用 [ ] 括号来表示函数的参数是否有任何具体原因?

forEach 函数的语法如下所示

arr.forEach(function callback(currentValue [, index [, array]]) {
    //your iterator
}[, thisArg]);

这就是它在 MDN 上的表示方式

为什么我们要按原样而不是简单地表示语法

arr.forEach(function callback(currentValue , index , array) {
    //your iterator
};

还有什么是[,thisArg];

【问题讨论】:

  • 可选。
  • 所以 [, thisArg] 是表示附加参数的方式,即“this”(引用对象)。但仍然为什么他们使用这种参数表示
  • 显示可选的[括号]参数。
  • 这允许文档是纯文本,而不依赖于颜色或字体样式来暗示含义。您可以复制/粘贴此文档,但它仍然表明参数是可选的。
  • 并且他们添加了递归括号以表明我不能在不先添加索引参数的情况下使用“数组”参数。现在一切都说得通了。

标签: javascript function foreach


【解决方案1】:

此语法通常表示函数执行其主要任务不需要的可选函数参数。在arr.forEach() 的情况下,索引和原始数组并不总是回调执行其任务所必需的。

这实际上是其他语言中常用的语法(我知道 PHP 在他们的文档中也这样做)。

【讨论】:

  • 这解释了很多。谢谢@Informagician
【解决方案2】:

说明index array是可选参数

【讨论】:

    猜你喜欢
    • 2015-08-10
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 2019-02-18
    • 2019-12-31
    • 1970-01-01
    • 2010-12-04
    • 2018-07-26
    相关资源
    最近更新 更多