![]() |
1
3
好。原因很直接。
把位置想象成
也许你在找
观察
你也不应该用
在上面的例子中,
|
![]() |
2
3
不,索引从零开始。
(数组也是如此,尽管引用了字符串的文档,但仍将其用于示例)。 |
![]() |
3
1
其他人都在说同样的话,但让我试着用另一种措辞来回答。 在javascript中,数组是从元素0开始索引的。因此,如果在开头找到的字符串qas,则有效的返回值将为0。如果字符串not found被报告为0,则您将不知道它是否在开头被找到或找到。-1永远不是字符串中某个位置的有效值。 至于你的测试
你可以用
以避免使用!==-1检验。 一般来说,array.indesof()的结果是重载的。结果包含函数结果和错误代码。此重载允许在测试中直接使用函数调用。但是,请考虑,如果函数调用在if语句中,则可能需要再次调用该函数,这是效率损失。如果在if之前对结果进行赋值,然后测试结果,则计算效率会更高。甚至没有内存开销,因为函数中的变量在堆栈上,如果保持变量为局部变量,则在函数返回时清除堆栈。 返回包含成功/失败标志和结果的结构的函数是一种简单的方法,可以泛化可能失败的函数调用,并且是一个方便的地方,可以在不复杂化要执行的简单测试的情况下进行异常处理。 |
|
4
0
因为在几乎所有的编程语言中,0都是数组的第一个位置。 |
![]() |
5
0
|
![]() |
Softly · 单选按钮未按预期取值 1 年前 |
|
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
![]() |
assembler · Nextjs没有处理发布请求 1 年前 |
|
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
![]() |
Toniq · javascript为php保存多维数组 1 年前 |