1、我们都知道es5提供了indexOf方法可返回某个指定的字符串值在字符串中首次出现的位置,没有的话就返回-1,es6又提供了三种新方法,
(1)includes():返回布尔值,表示是否找到了参数字符串。
(2)startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
(3)endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
这三种方法都支持第二参数,表示从第几位开始搜索
var w="The world is so big that I want to go out to see it";
console.log(w.indexOf("big",1));//16,第一个参数:要查找的字符串,第二个参数:从哪个位置开始查
console.log(w.includes("big",1));//true,两个参数与indexOf一致,返回值为true,false
console.log(w.startsWith("The",0));//true,两个参数与indexOf一致,返回值为true,false
console.log(w.startsWith("world",1));//false,因为从第1个位置开始,world字符串不在从第1个位置开始的源字符串的头部。
console.log(w.startsWith("world",4));//true,因为从第4个位置开始,world字符串在从第4个位置开始的源字符串的头部。
console.log(w.endsWith("big",19));//true,第一个参数:要查找的字符串,第二个参数:第几个位置之前的字符串
console.log(w.endsWith("big",19));//表示的是big是否符合位于第19个位置之前的字符串的尾部
2、接下来为大家介绍一个返回字符串的repeat方法,repeat方法类似于函数调用,可以在输出时将原字符串重复n次。但是因为repeat()方法存在诸多不兼容问题,请诸位慎用
let a="hello ";
console.log(a.repeat(2));//hello hello ,里面的数字2代表重复几次
console.log(a.repeat(3.5));//hello hello hello,重复三次说明参数是整数,如果是小数默认向下取整
console.log(a.repeat(-2));//Uncaught RangeError:说明参数不能为负数
console.log(a.repeat(-0.2));//输出结果为空说明(-1,0)之间的数都会变为0