indexOf()
方法返回调用它的 String
对象中第一次出现的指定值的索引,从 fromIndex
处进行搜索。如果未找到该值,则返回 -1。
参数
searchValue
一个字符串表示被查找的值。如果没有提供确切地提供字符串,searchValue 会被强制设置为 "undefined"
, 然后在当前字符串中查找这个值。
fromIndex
可选
表示开始查找的位置。可以是任意整数,默认值为 0
。如果 fromIndex
小于 0
,则查找整个字符串(等价于传入了 0
)。如果 fromIndex
大于等于 str.length
,则必返回 -1
。
返回值
指定值的第一次出现的索引;如果没有找到,则返回 -1。若被查找的字符串是一个空字符串,则返回值在0
---str.length
之间,即:
fromIndex
小于等于0
时,返回0
;fromIndex
大于0
且小于等于str.length
时,返回fromIndex
;fromIndex
大于字符串长度str.length
时,返回str.length
。
用法
基础用法
字符串中的字符被从左向右索引。首字符的索引(index)为 0,字符串 stringName
的最后一个字符的索引是 stringName.length - 1
。
"Hello World".indexOf("Hello"); // 返回 0
"Hello World".indexOf("Hellod"); // 返回 -1
"Hello World".indexOf("World", 0); // 返回 6
"Hello World".indexOf("World", 6); // 返回 6
"Hello World".indexOf("", -1); // 返回 0
"Hello World".indexOf("", 9); // 返回 9
"Hello World".indexOf("", 10); // 返回 10
"Hello World".indexOf("", 11); // 返回 10
区分大小写
indexOf
方法区分大小写。例如,下面的表达式返回 -1:
"Hello World".indexOf("hello") // 返回 -1
检测是否存在某字符串
当检测某个字符串是否存在于另一个字符串中时,可使用下面的方法:
"Hello World".indexOf("Hello") !== -1; // true
"Hello World".indexOf("Holle") !== -1; // false