JavaScript:在语法示例中打开参数括号后的逗号

dpr*_*ren 5 javascript syntax brackets comma

Array.prototype.indexOf()等方法的语法如下所示:

arr.indexOf(searchElement[, fromIndex = 0])

什么[, ...]意思,为什么括号内的逗号?

pax*_*blo 6

括号本身的意思是“可选”,= 0如果您决定省略该参数,它会给出默认值。逗号在方括号内的原因是因为它构成了可选位的一部分 - 如果省略第二个参数,则逗号也是。

换句话说,你可以使用indexOf searchElement,在这种情况下fromIndex,假定为零。或者,如果您不想从元素编号零开始搜索,您可以指定自己的fromIndex

所以下面的前两个是等价的,而第三个将在数组中的不同点开始搜索:

x = haystack.indexOf (needle);
x = haystack.indexOf (needle, 0);
x = haystack.indexOf (needle, 42);
Run Code Online (Sandbox Code Playgroud)

Mozilla 开发者网络对此有以下说法(我的重点):

fromIndex: 开始搜索的索引。

如果索引大于或等于数组的长度,则返回-1,这意味着不会搜索数组。如果提供的索引值为负数,则将其视为距数组末尾的偏移量。

注意:如果提供的索引为负数,数组仍会从前到后搜索。如果计算出的索引小于 0,则将搜索整个数组。

默认值:0(搜索整个数组)。