类似于indexOf()
ES6又提供了三种新方法。用来确定一个字符串是否包含在另一个字符串中。
- includes():返回布尔值,表示是否找到了参数字符串。
- startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
- endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
第二个参数表示开始搜索的位置
repeat(n) 返回一个新字符串,表示将原字符串重复n次
'hello'.repeat(2.8) // "hellohello"
- 参数如果是小数时,会向下取整。
- 参数如果是负数或无穷时,会报错
- 参数如果是-1到0之间的小数或NaN时,会先取整,取整为0,所以不会报错
- 参数如果是字符串,则会先转换成数字。
字符串自动补全
- padStart()用于头部补全,padEnd()用于尾部补全.
'x'.padStart(5, 'ab') // 'ababx'
第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。
如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。
如果省略第二个参数,默认使用空格补全长度
模板字符串
在使用模板字符串时,所有模板字符串的空格和换行,都是被保留的,比如<ul>标签前面会有一个换行。如果你不想要这个换行,可以使用trim方法消除它。
let str = `
<ul>
<li>first</li>
<li>second</li>
</ul>`.trim()
console.log(str)
模板字符串中嵌入变量,需要将变量名写在${}之中。大括号内部可以放入任意的JavaScript表达式,可以进行运算,以及引用对象属性。模板字符串之中还能调用函数。
function fn() {
return "Hello World";
}
console.log(`foo ${fn()} bar`) // foo Hello World bar
标签模板
模板字符串的功能,不仅仅是上面这些。它可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。
alert`123`
等同于
alert(123)
网友评论