codePointAt()方法返回的是码点的十进制值,如果想要十六进制的值,可以使用toString()方法转换一下。
let s="我"; s.codePointAt(0).toString(16) //"6211"若需要参数与下标对应,使用for…of循环
let x="我们是"; for(let item of x){console.log(item.codePointAt(0))} // 25105 // 20204 // 26159实例方法:normalize() ES6 提供字符串实例的normalize()方法,用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。不过,normalize方法目前不能识别三个或三个以上字符的合成。
实例方法:includes(), startsWith(), endsWith() includes():返回布尔值,表示是否找到了参数字符串。 startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。 endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
let str="good morning"; str.includes("d") //true str.startsWith("good") //true str.endsWith("ing") //true这三个方法都支持第二个参数,表示开始搜索的位置。endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。
str.startsWith("mor",5) //true 实例方法:repeat() repeat方法返回一个新字符串,表示将原字符串重复n次。 1)参数如果是小数,会被取整。不四舍五入。 2)如果repeat的参数是负数或者Infinity,会报错。如果参数是 0 到-1 之间的小数,则等同于 0; 3)参数NaN等同于 0。 "hello".repeat(1) //"hello" "hello".repeat(5.6) //"hellohellohellohellohello" "hello".repeat(-0.4) //"" "hello".repeat(NaN) //"" 实例方法:padStart(),padEnd() ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。 1)padStart()和padEnd()一共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串。 2)如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串。 3)如果省略第二个参数,默认使用空格补全长度。 4)padStart()的常见用途是为数值补全指定位数、提示字符串格式。 "good".padStart(7,"ab"); //"abagood" "good".padStart(3,"ab"); //"good" "good".padStart(7); //" good" 实例方法:trimStart(),trimEnd() ES2019 对字符串实例新增了trimStart()和trimEnd()这两个方法。 1)trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。 2)除了空格键,这两个方法对字符串头部(或尾部)的 tab 键、换行符等不可见的空白符号也有效。 3)浏览器还部署了额外的两个方法,trimLeft()是trimStart()的别名,trimRight()是trimEnd()的别名。 " good ".trimStart(); //"good " " good ".trimEnd(); //" good" " good ".trimLeft(); //"good " " good ".trimRight(); //" good" " good ".trim() //"good" 实例方法:matchAll() matchAll()方法返回一个正则表达式在当前字符串的所有匹配