字符串所有的方法,都 不会修改字符串本身(字符串是不可变的),操作完成会 返回一个新的字符串。
将一个值转化为字符串,.toString()方法,但是null和undefined值没有这个方法,
1、字符的Unicode(“\uxxxx”)表示法
xxxx —— 表示Unicode的码点,但是这种码点在\u0000~\uFFFF之间的字符。超出这个范围额字符,必须用2个双字节的形式表示。
如果直接在\u后面跟上超出范围的值,如\u20BB7,js会理解成\u20BB + 7,由于\u20BB是一个不可打印字符,所以只会显示一个空格,后面跟一个7。
console.log("\uD842\uDFB7") // ??console.log("\u20BB7") // ?7 console.log("\u{20BB7}") // ??
ES6对这一点做出了改进,只要将码点放入大括号,就能正确解读改字符串了。如上
JS内部,字符换是以UTF-16的格式存储的,每一个字符固定为2个字节。
2、ES5之字符串
字符串的拼接 和 截取
// 拼接 字符串.concat(str1,str2,str3...) 拼接符 + //推荐使用 // 截取 字符串.slice(start,end) // 前包后不包
// slice() substring() substr() 第一个参数是开始位置,
// slice() substring() 第二个参数是结束位置
// substr() 第二个参数是 返回的长度
let str = abcdefg
console.log(str.slice(2,4)); // cd
console.log(str.substring(2,4)); // cd
console.log(str.substr(2,4)); // cdef
查询字符是否在字符串中存在
字符串.indexOf(); // 返回索引或-1
字符串.lastIndexOf();
去除空白符
字符串.trim(); // 去除字符串两边的空格
字母字符大小写转换
字符串.toUpperCase(); // 转换大写 重点 字符串.toLowerCase(); // 转换小写 重点
字符串替换
字符串.replace(oldStr,newStr);
字符串分割
字符串.split(sp); // 把一个字符串分割成字符串数组。
3、ES6 之 字符串
let str = ‘abcdefg‘
1、for···of···字符串的遍历器接口
// for···of···字符串的遍历器接口 for( let codePoint of str) { console.log(codePoint) // 返回字符串的每一个字符 console.log(typeof codePoint) // string }
includes() 、startsWith()、 endsWith() 返回的都是boolean值
// includes() startsWith() endsWith() 返回的都是boolean值 // includes() 表示是否能找到参数 // startsWith() 表示参数字符串是否在源字符串开始 // endsWith() 表示参数字符串是否在源字符串结尾 console.log(str.includes(‘cd‘)) // true console.log(str.startsWith(‘ab‘)) // true console.log(str.endsWith(‘fg‘)) // true
repeat() 将源字符串复制一遍,返回新的字符串
// 参数是小数 会被取整,0返回空,Infinity或负数会报错,NaN等同于0 console.log(str.repeat(3)) // abcdefgabcdefgabcdefg
padStart() 、padEnd() 字符串补全
// 如果某个字符串不够指定长度,会在头部或尾部补全长度 console.log(str.padStart(10,‘0‘)) // 000abcdefg console.log(str.padEnd(10,‘0‘)) // abcdefg000
原文地址:https://www.cnblogs.com/houfee/p/10053788.html