indexOf详解,几种使用情况

语法:str.indexOf(searchValue [, fromIndex])

1. 如果没有提供确切地提供字符串,[searchValue 会被强制设置为"undefined"]

var str = undefined
var result = str.indexOf()
console.log(result)//0

fromIndex:可选

数字表示开始查找的位置。可以是任意整数,默认值为0。

2. 如果fromIndex的值小于0,那么查找从0开始

返回值:

查找的字符串searchValue的第一次出现的索引

var str = hello world
var result = str.indexOf(o,-5)
console.log(result)//4  //o在从0开始往右的第4个位置

3. fromIndex的值大于或等于str.length,那么结果会直接返回-1,因为开始查找的位置11处,已经是这个字符串的结尾了

var str = hello world
var result = str.indexOf(o,15)
console.log(result)//-1

4. 如果查找的是空字符串,此时看fromIndex的情况,如果fromIndex值大于等于字符串的长度,将会直接返回字符串的长度

var str = hello world
var result = str.indexOf(,15)
console.log(result)//11

特点:

  1. 严格区分大小写
  1. 在使用indexOf检索数组时,用‘===’去匹配,意味着会检查数据类型

什么叫严格区分大小写?举个栗子就明白了

var str = hello world
var result = str.indexOf(o)//这里是小写的o
console.log(result)//4

然后再看这个

var str = hello world
var result = str.indexOf(O)//这里是大写的O
console.log(result)//-1 说明未找到
经验分享 程序员 微信小程序 职场和发展