函数参数写法代表的含义

image.png
请问上面几个参数代表的是什么意思?
比如如下参数的三种写法:
1.accumulator
2.currentValue[,
3.array]]
为什么有时候是带一个中括号,有时候带两个中括号?

阅读 2.7k
2 个回答

[, x]这种表示x参数是可以不传的
[, x[, y]]这种表示x可以不传,如果传了x,则y也可以不传
[, x, y]这种表示xy可以同时传或者不传,但是不能只传某一个
比如下面这几种都可以

callback(accumulator, currentValue);
callback(accumulator, currentValue, index);
callback(accumulator, currentValue, index, array);

在你的例子中,index和array表示callback方法中这两个参数可以使用,也可以不用
index代表currentValue在数组中的索引,array表示数组本身

这个是比较老的习惯性描述参数的规范

  1. <> 括起来的是必要的参数,也可以不加这种符号,有时加是为了专门强调来区分参数类型。
  2. [] 括起来的是可选参数
  3. 如果有多个可选参数,且后个必须在有前个后才能加,可以用多层[] 来清楚表示先后顺序,比如这里[,index [,array]],表示如果出现了array,则肯定前面出现了index
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题