字符串
反引号
- 单引号、双引号基本相同。但是反引号允许我们通过${…}将任何表达式嵌套到字符串中:
sum(a,b) {
return a + b
}
console.log(`1+2 =${sum(1, 2)} 。`); //1+2 = 3 。
- 反引号还能允许字符串跨行:
let getList = `guest:
* june
* pete
* Mary
`;
console.log(getList); // 与输入的格式一致
特殊字符
字符 | 描述 |
---|---|
\n | 换行 |
\r | 回车:不单独使用。Windows 文本文件使用两个字符 \r\n 的组合来表示换行。 |
', " | 引号 |
\ | 反斜线 |
\t | 制表符 |
\b, \f, \v | 退格,换页,垂直标签 —— 为了兼容性,现在已经不使用了。 |
\xXX | 具有给定十六进制 Unicode XX 的 Unicode 字符,例如:’\x7A’ 和 ‘z’ 相同。 |
\uXXXX | 以 UTF-16 编码的十六进制代码 XXXX 的 unicode 字符,例如 \u00A9 —— 是版权符号 © 的 unicode。它必须正好是 4 个十六进制数字。 |
\u{X…XXXXXX} 1 到 6 个十六进制字符) | ( 具有给定 UTF-32 编码的 unicode 符号。一些罕见的字符用两个 unicode 符号编码,占用 4 个字节。这样我们就可以插入长代码了。 |
改变大小写
- toLowerCase() toUpperCase() 可以改变大小写
查找子字符串
- str.indexOf(substr,pos).从给定位置pos开始,在str中查找substr,若没有返回-1,否则返回到成功的位置
- str.lastIndexOf(substr, pos) 从字符串末尾开始搜索到开头
- str.includes():包含某个参数,其第二个可选参数是开始搜索的起始位置
alert( "Midget".includes("id") ); // true
alert( "Midget".includes("id", 3) ); // false, 从位置 3 开始没有 "id"
- str.startsWith str.endWith :以str开始、结束
alert( "Widget".startsWith("Wid") ); // true,"Widget" 以 "Wid" 开始
alert( "Widget".endsWith("get") ); // true,"Widget" 以 "get" 结束
获取子字符串
js中有三种获取字符串的方法:substring、substr、slice。
- str.slice(start [,end]) 返回字符串从start到end(不包括)的部分
若没有第二个参数,slice会一致运行到字符串尾
start/end也有可能是负值,从字符串结尾开始计算
let str = "stringify";
alert( str.slice(0, 5) ); // 'strin',从 0 到 5 的子字符串(不包括 5)
alert( str.slice(0, 1) ); // 's',从 0 到 1,但不包括 1,所以只有在 0 处的字符
alert( str.slice(2) );//ringify
// 从右边的第四个位置开始,在右边的第一个位置结束
alert( str.slice(-4, -1) ); // 'gif'
- str.substring(start[,end]) : 返回字符串在start、end之间部分,这与 slice 几乎相同,但它允许 start 大于 end。
let str = "stringify";
// 这些对于 substring 是相同的
alert( str.substring(2, 6) ); // "ring"
alert( str.substring(6, 2) ); // "ring"
// ……但对 slice 是不同的:
alert( str.slice(2, 6) ); // "ring"(一样)
alert( str.slice(6, 2) ); // ""(空字符串
- str.substr(startt[,length]) 返回字符串从start开始的给定length的部分,与以前的方法相比,这个允许我们指定的length不是结束位置。
第一个参数可能是负数,从结尾算起
let str = "stringify";
alert( str.substr(2, 4) ); // 'ring',从位置 2 开始,获取 4 个字符
alert( str.substr(-4, 2) ); // 'gi',从第 4 位获取 2 个字符
总结:
方法 选择方式 负值参数 slice(start, end) 从start到end(不含end) 允许 substring(start,end) start与end之间(包含start,不包括end) 负值代表0 substr(start,length) 从start开始获取长为length的字符串 允许start为负数