indexof
indexof
语法:str.indexOf(searchValue [, fromIndex])
参数:searchValue:要被查找的字符串值。
如果没有提供确切地提供字符串,[searchValue 会被强制设置为"undefined"], 然后在当前字符串中查 找这个值。
举个例子:'undefined'.indexOf()将会返回0,因为undefined在位置0处被找到,但是'undefine'.indexOf()将会返回 -1 ,因为字符串'undefined'未被找到
fromIndex:可选
数字表示开始查找的位置。可以是任意整数,默认值为0。
如果fromIndex的值小于0,或者大于str.length,那么查找分别从0和str.length开始。(译者 注:fromIndex的值小于0,等同于为空情况;fromIndex的值大于或等于str.length,那么结果 会直接返回-1。)
举个例子,'hello world'.indexOf('o', -5)返回4,因为它是从位置0处开始查找,然后o在位置4处被找到。另一方面,'hello world'.indexOf('o', 11)(或fromIndex填入任何大于11的值) 将会返回-1,因为开始查找的位置11处,已经是这个字符串的结尾了。
返回值:
查找的字符串searchValue的第一次出现的索引,如果没有找到,则返回-1。
若被查找的字符串searchValue是一个空字符串,则返回fromIndex。如果fromIndex值为空,或者fromIndex值小于被查找的字符串的长度,返回值和以下的fromIndex值一样。
如果fromIndex值大于等于字符串的长度,将会直接返回字符串的长度(str.length)
特点:
1. 严格区分大小写
2. 在使用indexOf检索数组时,用‘===’去匹配,意味着会检查数据类型