JavaScript 字符串(上)
三种引号
字符串可以包含在单引号、双引号或反引号中
//用法
let single = ‘Single quotation mark‘; //单引号
let double = "Double quotation mark"; //双引号
let backquote = `backquote`; //反引号
- 单引号 与 双引号 基本相同。
- 反引号 允许我们通过 ${…} 将任何表达式嵌入到字符串中:
- 反引号 允许字符串换行:
//用法
//可以插入变量及表达式
var a = "Hello";
alert(`${a} World`); // Hello World
//可以换行
let row = `first line
Second line
Third line
`;
字符串特殊字符
所有的特殊字符都以反斜杠字符 \ 开始。它也被称为“转义字符”。
//用法
let string1 = "Hello\nWorld";
let string2 = "\u{20331}"; // 佫,罕见的中国象形文字(长 unicode)
代码 | 输出 |
---|---|
‘ | 单引号 |
" | 双引号 |
& | 和号 |
\ | 反斜杠 |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
\b | 退格符 |
\f | 换页符 |
\xXX | 具有给定十六进制 Unicode XX 的 Unicode 字符,例如:‘\x7A‘ 和 ‘z‘ 相同。 |
\uXXXX | 以 UTF-16 编码的十六进制代码 XXXX 的 unicode 字符,例如 \u00A9 —— 是版权符号 ? 的 unicode。它必须正好是 4 个十六进制数字。 |
\u{X…XXXXXX}(1 到 6 个十六进制字符) | 具有给定 UTF-32 编码的 unicode 符号。一些罕见的字符用两个 unicode 符号编码,占用 4 个字节。这样我们就可以插入长代码了。 |
length
length 属性表示字符串长度
//用法
let string = ‘Hello‘;
console.log(string.length);// 5
注意: str.length 是一个数字属性,而不是函数。后面不需要添加括号
charAt()与[]
要获取在 某个 位置的一个字符可以用 charAt() 或者 []
第一个字符从零位置开始:
//用法
let string = ‘Hello‘;
string.charAt(0); //H
string.[0]; //H
string.charAt(10); //""
string.[10]; //undefined,
如果没有找到字符:
- [] 返回 undefined,
- charAt() 返回一个空字符串.
toLowerCase() 与 toUpperCase()
- toLowerCase() 方法可以将字符串英文全部变成小写字母:
- toUpperCase() 方法可以将字符串英文全部变成大写字母:
//用法
‘Hello‘.toLowerCase(); //hello
‘Hello‘.toUpperCase(); //HELLO
indexOf()
方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到,则返回 -1。
有两个参数
必选的第一个参数是你要查找的字符串
可选的第二个参数允许我们从给定的起始位置开始检索。
//用法
let string = ‘Hello World‘;
string.indexOf(‘H‘) // 0
string.indexOf(‘H‘, 2) // -1
includes(),startsWith(),endsWith()
- includes():方法返回布尔值,表示是否找到了参数字符串。(第二个参数允许我们从给定的起始位置开始检索。)
- startsWith():方法返回布尔值,表示参数字符串是否在原字符串的头部。
- endsWith():方法返回布尔值,表示参数字符串是否在原字符串的尾部。
//用法
let string = ‘Hello World‘;
string.includes(‘World‘) // true
string.includes(‘World‘,6) // false
string.startsWith(‘H‘) // true
string.endsWith(‘d‘) // true
slice(),substr(),substring()
都是截取字符串,三个方法都接收 两个参数
- slice() 方法第一个参数可为负数。第二个参数是指定截取长度。
- substr() 方法第一个参数为负数被替换成0。交换参数位置,小的在前。第二个参数是指定结束位置。
- substring() 方法第一个参数可为负数。第二个参数是指定结束位置。
//用法
var string = ‘hello world‘;
string.slice(-3); //rld
string.sbstr(-3); //rld
string.substring(-3); //hello world
string.slice(3,-4); //lo w
string.substr(3,-4); //""
string.substring(3,-4); //hel
注意:substr()第二个参数指定的是截取的长度,slice()和substirng()第二个参数指定截取的结束位置。
方法 | 选择方式…… | 负值参数 |
---|---|---|
slice() | 从 第一个参数 到 第二个参数(不含 第二个参数) | 允许 |
substring() | 第一个参数 与 第二个参数 之间(包括 第一个参数,但不包括 第二个参数 | 负值代表 0 |
substr() | 从 第一个参数 开始获取长为 第二个参数 的字符串 | 允许 第一个参数 为负数 |
codePointAt() 与 String.fromCodePoint()
codePointAt() 方法返回在 参数 位置的字符代码 :
String.fromCodePoint() 方法通过 参数 创建字符
//用法
// 大小写字母意思不同
"z".codePointAt(0); // 122
"Z".codePointAt(0); // 90
String.fromCodePoint(90); // Z
注意:字符串的比较是按字母顺序逐字比较。所有的字符串都使用 UTF-16 编码。比较字母大小,是比较字母在编码中数字代码的大小