ES5只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中
ES6提供了三种在字符串查找参数字符串的方法。
includes():返回布尔值,是否找到了参数字符串;
startsWith():返回布尔值,参数字符串是否在查找字符串的头部;
endsWith():返回布尔值,参数字符串是否在查找字符串的尾部。
使用第二个参数n时,endsWith() 的行为与其他两个方法有所不同,它针对的是前n个字符,而其他两个方法都是针对从第n个位置(不包含n)直到字符串结束。当只有一个参数相当于第二个参数为0
let str = 'ABCDEFG!';
//indexOf()查找字符串中是否包含参数字符串,下标从0开始,大小写敏感
console.log(str.indexOf('F')) //5
console.log(str.indexOf('f')) //-1
//startsWith()字符串是否以参数字符串开头
console.log(str.startsWith('AB')) //true
//endsWith()字符串是否以参数字符串结尾
console.log(str.endsWith('G!')) //true
//includes()字符串是否包含参数字符串
console.log(str.includes('D')) //true
//startsWith()字符串是否以参数字符串在指定下标处开头,包含当前指定下标位
console.log(str.startsWith('B',1)) //true
console.log(str.startsWith('AB',1)) //false
//endsWith()字符串是否以参数字符串在指定下标处前一位结尾,不包含当前指定下标位
console.log(str.endsWith('A',1)) //true
console.log(str.endsWith('G!',1)) //false
//includes()字符串是否包含参数字符串在指定下标处后,包含当前指定下标位
console.log(str.includes('D',1)) //true