ES6笔记-字符串方法

字符串检索方法,indexOf(searchValue,fromIndex)//参数1必需,检索查询的字符串或者值,参数2选题,规定检索的起始位置,不设置默认从0开始

indexOf()方法返回检索字符串出现的位置,如果没有出现检索的字符串或者值,返回-1

'Hello Tom'.indexOf('o',2)//4,出现
'Hello Tom'.indexOf('e',3)//-1,未出现

ES6新增加字符串检索方法

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
var s = 'Hello world!';

s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

这三个方法都支持第二个参数,表示开始搜索的位置。

var s = 'Hello world!';

s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false endsWith使用参数时计算标准有所不同,
反正这三个新增方法检索时,若要传入第二个参数(索引起始位置),需要查看对应API使用,以防出现异常
repeat()方法返回一个新的字符串,我们称之为复读机吧
 
'33423'.repeat(2)//3342333423
http://es6.ruanyifeng.com/#docs/string

repeat方法返回一个新字符串,表示将原字符串重复n次。

'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""

参数如果是小数,会被取整。

'na'.repeat(2.9) // "nana"

如果repeat的参数是负数或者Infinity,会报错。

'na'.repeat(Infinity)
// RangeError
'na'.repeat(-1)
// RangeError

但是,如果参数是0到-1之间的小数,则等同于0,这是因为会先进行取整运算。0到-1之间的小数,取整以后等于-0repeat视同为0。

'na'.repeat(-0.9) // ""

参数NaN等同于0。

'na'.repeat(NaN) // ""

如果repeat的参数是字符串,则会先转换成数字。

'na'.repeat('na') // ""
'na'.repeat('3') // "nanana"
ES7字符串补全方法

padStart(),padEnd()

强大的摸板字符串



 
上一篇:C++(2):错误:undefined reference to `__gxx_personality_v0'


下一篇:setTag,getTage复用