1.模板字符串
(1)模板字符串一般用法
// 普通字符串
`In JavaScript '\n' is a line-feed.`
// 多行字符串
`In JavaScript this is
not legal.`
console.log(`string text line 1
string text line 2`);
// 字符串中嵌入变量
let name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`
模板字符串中间大括号中可以放表达式进行运算,还可以调用函数。
运用实例:模板编译
(2)标签模板
它可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。
alert`hello`
// 等同于
alert(['hello'])
let a = 5;
let b = 10;
tag`Hello ${ a + b } world ${ a * b }`;
// 等同于
tag(['Hello ', ' world ', ''], 15, 50);
运用实例:过滤 HTML 字符串,防止用户输入恶意内容。
2.新增方法
(1)String.raw() 返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串
(2)includes(), startsWith(), endsWith()
includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
(3)repeat方法返回一个新字符串,表示将原字符串重复n次。
(4)padStart()用于头部补全,padEnd()用于尾部补全。
'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'
3.字符串常用方法
(1)slice(),substring(),substr()
slice(): 返回字符串中提取的子字符串。
substring(): 提取字符串中介于两个指定下标之间的字符。(用法与slice相同,但不接受负数参数)
substr(): 返回从指定下标开始指定长度的的子字符串(即第二参数代表截取的长度)
(2)split(): 把字符串分割成字符串数组。
(3)replace:在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
var str="hello WORLD";
var reg=/o/ig; //o为要替换的关键字,不能加引号,否则替换不生效,i忽略大小写,g表示全局查找。
var str1=str.replace(reg,"**")
console.log(str1); //hell** W**RLD
(4)match(): 返回所有查找的关键字内容的数组。
var str="To be or not to be";
var reg=/to/ig;
var str1=str.match(reg);
console.log(str1); //["To", "to"]
console.log(str.match("Hello")); //null
(5)concat() 方法用于连接两个或多个字符串。返回连接后的新字符串。
let myString = "Hello kitty";
let str = "aabbcc"
let str2 = " ccddeeff"
myString.concat(str) // "Hello kittyaabbcc"
myString.concat(str,str2) // "Hello kittyaabbcc ccddeeff"