(21)normalize
用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。
这个,用的确实不多,这里就不详细解释。如果要详细了解,可以移步阮一峰博客
(22)padEnd & padStart——ES2017
作用是字符串长度补全
padEnd()补全尾部
padStart()补全头部
一共接收两个参数:
- 字符串补全生效后的最大长度
- 用来补全的字符串
1 console.log('x'.padStart(5,"ab")) // ababx 2 console.log('x'.padEnd(4,"ab")) // xaba
(23)repeat
复制字符串指定次数
1 let str = "hello" 2 console.log(str.repeat(3)); // hellohellohello
(24)replace
替换字符串中找到的指定字符
1 let str = "hello" 2 console.log(str.replace("ll","xx")) // hexxo 3 let str01 = str.replace("ll","xx") 4 console.log(str01); // hexxo 5 console.log(str); // hello
注意:
- 如果有多个匹配到的,则只会替换第一个找到的匹配项。如果替换所有,在上面的例子中可以将"ll"改为正则表达式 /ll/g,即可替换所有匹配项。或者使用replaceAll()方法
- 该字符串调用了replace()方法,原字符串不会更改(因为它是基础类型),要获取修改以后的值,需要用一个新的变量接收
(25)replaceAll
替换字符串中的所有匹配的字符
1 let str = "hellohello" 2 console.log(str.replaceAll("ll",'xx')); // hexxohexxo
(26) search
用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。没有找到则返回-1
。1 let str = "hello world" 2 console.log(str.search("wo")); // 6
注意:
- 返回的索引是第一个找到的索引
- 与indexOf的不同:
- search() 方法不执行全局匹配,它将忽略标志 g。
- 它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置
ES6 出现之前,字符串对象共有 4 个方法,可以使用正则表达式:match()
、replace()
、search()
和split()
。
(27)slice
slice(start, end) 方法可提取字符串的某个部分(从开始到结束),并以新的字符串返回被提取的部分
- start:开始截取的索引
- end:结束的索引
1 let str = "hello" 2 console.log(str.slice(1,4)); // ell
说明:
- 如果start和end都不传,相当于整个复制
- 不传end,截取到最后
- end传负数,表示从开始截取,然后从末尾开始截取到负数绝对值的位数
(28)small
与big()方法相反,作用是把字符串按小号字体显示
1 <body> 2 <span>hello world</span> 3 <script> 4 var str = "Hello world!" 5 document.write(str.small()) 6 </script> 7 </body>
(29)split
split() 方法用于把一个字符串分割成字符串数组
1 let str = "a,b,c,d,e" 2 let arr = str.split(",") 3 console.log(arr); // ["a", "b", "c", "d", "e"]
注意:
- 如果使用空字符("")作为分割字符串,那么字符串中的每个字符都会被切割
- 使用split()方法的字符串,原字符串不会被改变
(30)strike
strike() 方法用于显示加删除线的字符串(与big(),small()作用类似)
1 var str = "Hello world!"; 2 document.write(str.strike());