字符串的拓展

原创
2017/02/18 12:20
阅读数 35
AI总结

表示字符的6种方法;includes,startsWith和endsWith方法;repeat方法

‘\z’ === 'z' //true 字符表示
'\172' === 'z' //true 数字表示
'\x7A' === 'z' //true 16进制
'\u007A' === 'z' //true \uxxxx形式
'\u{7A}' === 'z' //true \u{xxxx} 形式
var s = "abc";
s.includes('b');//返回布尔值,表示是否找到了参数字符串
s.startsWith('a');//返回布尔值,表示参数字符串是否在源字符串的头部
s.endsWith('c');//返回布尔值,表示参数字符串是否在源字符串的尾部

这三个方法都支持第二个参数,表示开始搜索的位置。
var s = "hello world!";
s.startsWith('world',5);
s.endsWith('Hello',5);
s.includes('hello',5);
使用第二个参数的时候,endsWith的行为和其它两个不一样。它针对的是前n个字符,而其它两个方法是针对从第n个位置直到字符串结束。

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

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

参数如果是小数,会被取整
'na'.repeat(2.9) //"nana"

如果repeat的参数是负数或者Infinity,会报错
'na'.repeat(Infinity);
'na'.repeat(-1)
如果参数是0到-1之间的小数,取整之后等于-0,repeat视为0
‘na’.repeat(-0.9) //""
参数NaN等同于0
‘na’.repeat(NaN) //""
如果repeat的参数是字符串,那么就会先转换成数字
'na'.repeat('na');//""
'na'.repeat('3');//"nanana"

padStart(),padEnd() ES2017引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或者尾部补全。padStart()用于头部补全,padEnd()用于尾部补全

‘x’.padStart(5,'ab'); //'ababx'
'x'.padstart(4,'ab');//'abax'

'x'.padEnd(5,'ab');//'xabab'
'x'.padEnd(4,'ab');//'xaba'

模版字符串是增强版的字符串,用反括号`标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中潜入变量。

//普通字符串
`In Javascript '\n' is a line-feed`
//多行字符串
`In Javascript this is not
legal`
//字符串中嵌入变量
var name = 'Bob',time = "today"
`hello,${name},how are you ${time}?`

如果在字符串中需要使用反引号。则在前面需要使用反斜杠转义
var greetings = `\`hello\`,world!`;
如果使用模版字符串表示多行字符串,所有的空格和缩进都会保留在输出之中。如果你不想换行,可以使用trim方法取掉它。
$('#list').html(
` 
   <ul>
      <li>first</>
      <li>second</>
   </ul>
`
);
模版字符串中嵌入变量,需要将变量名写在${}中。

多语言处理

i18n`Welcome to ${website},your visitor number is ${visitornumber}!`

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部