javascript的语法模板怎么这么奇怪?

这是MDN上的:

语法

arr.forEach(callback[, thisArg]);源码地址

具体问题:

为什么要写成callback[,thisArg]? 按照MDN的解释,callback是一个函数,thisArg是一个可选参数,那为什么不写成
arr.forEach(callback(),[thisArg]);
它那种写法一开始看很难看懂~

阅读 3.1k
3 个回答

英文版的语法模板是这样的:

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

[, xxx]算上MDN的一个惯例,表示的是这是一个可选参数,有没有都没有问题

你甚至还会看见这样的:

str.concat(string2[, string3, ..., stringN])

...的意思就是随便多少个都可以

js里函数即对象, 对象即函数

callback() 是一个执行结果,不再是函数,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题