速查表
编号 | 方法名 | 功能 | 原字符串是否改变 |
---|---|---|---|
1 | length | 获取字符串的长度 | n |
2 | charAt(index) | 返回指定位置的字符 | n |
3 | charCodeAt(index) | 返回指定索引位置字符的 Unicode 值 | n |
4 | indexOf(str, start) | 查询并返回子串的索引 | n |
5 | lastIndexOf(str, start) | 反向查询并返回子串的索引 | n |
6 | includes(str, start) | 判断字符串是否包含指定的子串 | n |
7 | startsWith(str) | 检测字符串是否以指定的子串开始 | n |
8 | endsWith(str) | 检测字符串是否以指定的子串结尾 | n |
9 | concat(str1, str2, ...) | 连接字符串 | n |
10 | split(str) | 把一个字符串分割成字符串数组 | n |
11 | slice(start, end) | 提取字符串的某个部分 | n |
12 | substr(start, length) | 在字符串中提取从开始下标开始的指定数目的字符串 | n |
13 | substring(start, end) | 用于提取字符串中介于两个指定下标之间的字符串 | n |
14 | toLowerCase() | 把字符串转换为小写 | n |
15 | toUpperCase() | 把字符串转换为大写 | n |
16 | replace(str, newStr) | 在字符串中用一个字符串替换另一个字符串,或替换一个与正则表达式匹配的子串 | |
17 | match(regexp) | 在字符串内检索指定的值,可以是正则表达式 | n |
18 | search(str) | 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串 | n |
19 | trim() | 移除字符串首尾空白符 | n |
20 | trimStart() | 移除字符串开始的空白符 | n |
21 | trimEnd() | 移除字符串结尾的空白符 | n |
22 | valueOf() | 返回某个字符串对象的原始值 | n |
23 | toString() | 返回字符串对象本身 | n |
24 | repeat(n) | 方法返回一个新字符串,表示将原字符串重复n次 | n |
25 | padStart(index, str) | 头部补全字符串的长度 | n |
26 | padEnd(index, str) | 尾部补全字符串的长度 | n |
27 | parseInt() | 将字符串转为整数 | n |
28 | parseFloat() | 将字符串转为浮点数 | n |
1. length
功能:属性,返回字符串的长度。
参数:无
let str = "Hello, world!";
console.log(str.length); // 13
2. charAt(index)
功能:返回指定位置的字符。
参数:index,必须,表示要返回的字符的位置。
let str = "Hello, world!";
console.log(str.charAt(1)); // e
console.log(str.charAt(4)); // o
3. charCodeAt(index)
功能:返回指定位置的字符的 Unicode 编码。
参数:
- index,必须,表示要返回的字符的位置。
let str = "Hello, world!";
console.log(str.charCodeAt(1)); // 101
console.log(str.charCodeAt(4)); // 111
4. indexOf(str, start)
功能:返回字符串中第一次出现的指定子字符串的位置。如果没有找到子字符串,则返回 -1。
参数:
- str,必须,表示要查找的子字符串。
- start,可选,表示查找的起始位置。如果未指定,则从头开始搜索。
let str = "Hello, world!";
console.log(str.indexOf("world")); // 7
console.log(str.indexOf("l")); // 2
console.log(str.indexOf("l", 3)); // 3
console.log(str.indexOf("abc")); // -1
5. lastIndexOf(str, start)
功能:返回字符串中最后一次出现的指定子字符串的位置。如果没有找到子字符串,则返回 -1。
参数:
- str,必须,表示要查找的子字符串。
- start,可选,表示查找的起始位置。如果未指定,则从字符串末尾开始搜索。
let str = "Hello, world!";
console.log(str.lastIndexOf("l")); // 9
console.log(str.lastIndexOf("l", 6)); // 3
console.log(str.lastIndexOf("abc")); // -1
6. includes(str, start)
功能:判断字符串中是否包含指定的子字符串。如果字符串中包含指定的子字符串,则返回 true;否则返回 false。
参数:
- str,必须,表示要查找的子字符串。
- start,可选,表示从字符串的哪个位置开始搜索。如果未指定,则从头开始搜索。
let str = "Hello, world!";
console.log(str.includes("world")); // true
console.log(str.includes("l")); // true
console.log(str.includes("l", 3)); // true
console.log(str.includes("abc")); // false
includes 方法区分大小写。如果想忽略大小写,可以将字符串转换为小写或大写,然后再调用该方法。
7. startsWith(str)
功能:判断字符串是否以指定的字符串开头。如果字符串以指定的字符串开头,则返回 true;否则返回 false。
参数:
- str,必须,表示要比较的字符串。
let str = "Hello, world!";
console.log(str.startsWith("Hello")); // true
console.log(str.startsWith("hello")); // false
startsWith 方法区分大小写。如果想忽略大小写,可以将字符串转换为小写或大写,然后再调用该方法。
8. endsWith(str)
功能:判断字符串是否以指定的字符串结尾。如果字符串以指定的字符结尾,则返回 true;否则返回 false。
参数:
- str,必须,表示要比较的字符串。
let str = "Hello, world!";
console.log(str.endsWith("world!")); // true
console.log(str.endsWith("World!")); // false
endsWith 方法区分大小写。如果想忽略大小写,可以将字符串转换为小写或大写,然后再调用该方法。
9. concat(str1, str2, ...)
功能:将多个字符串拼接成一个新的字符串。返回拼接后的新字符串。
参数:
- str1,必须,表示要拼接的第一个字符串。
- str2,可选,表示要拼接的第二个字符串。
- ...,可选,表示要拼接的其他字符串。
let str1 = "Hello, ";
let str2 = "world!";
let str3 = " How are you?";
console.log(str1.concat(str2)); // Hello, world!
console.log(str1.concat(str2, str3)); // Hello, world! How are you?
concat 方法不会改变原始字符串,而是返回一个新的字符串。如果要将多个字符串插入到同一个字符串中,可以使用字符串模板或加号操作符。
10. split(str)
功能:将字符串分割成字符串数组。返回字符串数组,其中的元素是原始字符串根据指定的分隔符分割后的子字符串。
参数:
- str,可选,表示分隔符。如果未指定,则使用默认分隔符,即逗号(,)。
let str = "apple,banana,grape,orange";
let arr = str.split(",");
console.log(arr); // ["apple", "banana", "grape", "orange"]
split 方法不会改变原始字符串,而是返回一个新的字符串数组。如果未指定分隔符,则默认使用逗号(,)作为分隔符。如果指定的分隔符在原始字符串中不存在,则 split 方法将返回包含整个字符串的单个元素的数组。如果要将字符串数组合并成一个字符串,则可以使用 join 方法。
11. slice(start, end)
功能:从字符串中提取指定的部分,返回一个新字符串,其中包含从原始字符串中提取的指定部分。
参数:
- start,可选,表示提取的起始位置。如果未指定,则从字符串的开头开始提取。
- end,可选,表示提取的结束位置。如果未指定,则提取到字符串的末尾。
let str = "Hello, world!";
console.log(str.slice(7)); // world!
console.log(str.slice(0, 5)); // Hello
console.log(str.slice(-6)); // world!
console.log(str.slice(3, -1)); // lo, world
slice 方法不会改变原始字符串,而是返回一个新字符串。如果省略 start 参数,则 slice 方法将从字符串的开头开始提取。如果省略 end 参数,则 slice 方法将提取到字符串的末尾。如果 start 参数为负数,则表示从字符串的末尾开始计数。如果 end 参数为负数,则表示提取到字符串的末尾之前的指定位置。
12. substr(start, length)
功能:从字符串中提取指定的部分,返回一个新字符串,其中包含从原始字符串中提取的指定部分。
参数:
- start,必须,表示提取的起始位置。如果是负数,则表示从字符串的末尾开始计数。
- length,可选,表示要提取的字符数。如果未指定,则提取到字符串的末尾。
let str = "Hello, world!";
console.log(str.substr(7)); // world!
console.log(str.substr(0, 5)); // Hello
console.log(str.substr(-6)); // world!
console.log(str.substr(3, 5)); // lo, w
substr 方法不会改变原始字符串,而是返回一个新字符串。如果 start 参数是负数,则表示从字符串的末尾开始计数。如果 length 参数未指定,则提取到字符串的末尾。如果 length 参数是负数,则会被视为 0。如果 start 参数加上 length 参数的值超出了字符串的长度,则只提取到字符串的末尾。建议使用 slice 方法来替代 substr 方法,因为 substr 方法在某些情况下可能会出现错误。
13. substring(start, end)
功能:从字符串中提取指定的部分,返回一个新字符串,其中包含从原始字符串中提取的指定部分。
参数:
- start,必须,表示提取的起始位置。
- end,可选,表示提取的结束位置。如果未指定,则提取到字符串的末尾。
let str = "Hello, world!";
console.log(str.substring(7)); // world!
console.log(str.substring(0, 5)); // Hello
console.log(str.substring(7, 12)); // world
console.log(str.substring(12, 7)); // world
substring 方法不会改变原始字符串,而是返回一个新字符串。如果 start 参数大于 end 参数,则 substring 方法会自动交换这两个参数。如果 end 参数未指定,则提取到字符串的末尾。如果 start 或 end 参数是负数,则会被视为 0。建议使用 slice 方法来替代 substring 方法,因为 substring 方法在某些情况下可能会出现错误。
14. toLowerCase()
功能:将字符串中的所有字母转换为小写字母。返回一个新字符串,其中的所有字母都被转换为小写字母。
参数:无
let str = "Hello, WORLD!";
console.log(str.toLowerCase()); // hello, world!
15. toUpperCase()
功能:将字符串中的所有字母转换为大写字母。返回一个新字符串,其中的所有字母都被转换为大写字母。
参数:无
let str = "Hello, WORLD!";
console.log(str.toUpperCase()); // HELLO, WORLD!
16. replace(str, newStr)
功能:将字符串中的指定字符替换为新字符。返回一个新字符串,其中的指定字符被替换为新字符。
参数:
- str,必须,表示要替换的字符或字符串。
- newStr,必须,表示要替换为的新字符或字符串。
let str = "Hello, world!";
let newStr = str.replace("world", "JavaScript");
console.log(newStr); // Hello, JavaScript!
replace 方法不会改变原始字符串,而是返回一个新字符串。如果要替换所有匹配的子字符串,则可以使用正则表达式来指定替换的模式。例如,str.replace(/world/g, "JavaScript") 将会将字符串 str 中所有的 "world" 都替换为 "JavaScript"。
17. match(regexp)
功能:在字符串中搜索指定的模式,并返回所有匹配的子字符串。如果未找到匹配项,则返回 null。
参数:
- regexp,必须,表示要匹配的模式,可以是一个正则表达式对象或一个字符串。
let str = "Hello, world!";
let matches = str.match(/o/g);
console.log(matches); // ["o", "o"]
match 方法返回一个数组,其中包含所有匹配子字符串。如果未找到匹配项,则返回 null。如果正则表达式具有全局标志,则 match 方法将搜索整个字符串,并返回所有匹配项。否则,它只会返回第一个匹配项。
18. search(str)
功能:在字符串中搜索指定的子字符串,并返回匹配的位置。如果未找到匹配项,则返回 -1。
参数:
- str,必须,表示要搜索的子字符串。
let str = "Hello, world!";
let position = str.search("world");
console.log(position); // 7
19. trim()
功能:去除字符串两端的空白字符(包括空格、制表符、换行符等)。返回一个新字符串,其中去除了两端的空白字符。
参数:无
let str = " Hello, world! ";
console.log(str.trim()); // "Hello, world!"
trim 方法不会改变原始字符串,而是返回一个新字符串。如果要去除字符串中间的空白字符,则可以使用正则表达式来匹配和替换。例如,str.replace(/\s+/g, "") 将会去除字符串 str 中的所有空白字符。
20. trimStart()
功能:去除字符串开头的空白字符(包括空格、制表符、换行符等)。返回一个新字符串,其中去除了开头的空白字符。
参数:无
let str = " Hello, world! ";
console.log(str.trimStart()); // "Hello, world! "
trimStart 方法不会改变原始字符串,而是返回一个新字符串。该方法在 ES2019 中被引入,如果要在旧版本的 JavaScript 中使用该方法,可以使用 trimLeft 方法替代。
21. trimEnd()
功能:去除字符串结尾的空白字符(包括空格、制表符、换行符等)。返回一个新字符串,其中去除了结尾的空白字符。
参数:无
let str = " Hello, world! ";
console.log(str.trimEnd()); // " Hello, world!"
trimEnd 方法不会改变原始字符串,而是返回一个新字符串。该方法在 ES2019 中被引入,如果要在旧版本的 JavaScript 中使用该方法,可以使用 trimRight 方法替代。
22. valueOf()
功能:返回一个字符串的原始值。
参数:无
let str = new String("Hello, world!");
console.log(str.valueOf()); // "Hello, world!"
valueOf 方法返回的值与调用该方法的字符串对象相同。这个方法通常不需要显式地调用,因为 JavaScript 在需要字符串原始值时会自动调用它。
23. toString()
功能:返回一个字符串的字符串表示。
参数:无
let str = new String("Hello, world!");
console.log(str.toString()); // "Hello, world!"
toString 方法返回的值与调用该方法的字符串对象相同。这个方法通常不需要显式地调用,因为 JavaScript 在需要字符串表示时会自动调用它。
24. repeat(n)
功能:返回一个由原字符串重复指定次数后组成的新字符串。
参数:
- n,必须,表示要重复的次数。
let str = "Hello, world!";
console.log(str.repeat(3)); // "Hello, world!Hello, world!Hello, world!"
repeat 方法不会改变原始字符串,而是返回一个新字符串。如果 n 参数是负数或 Infinity,将会抛出一个 RangeError 异常。如果 n 参数是小数,则会被向下取整为整数。
25. padStart(index, str)
功能:返回一个新字符串,其中添加了指定的字符或字符串,使得字符串达到指定的长度。
参数:
- index,必须,表示最终字符串的长度。
- str,可选,表示要添加的字符或字符串,如果省略,则默认为添加空格字符。
let str = "Hello";
console.log(str.padStart(10, "x")); // "xxxxxHello"
console.log(str.padStart(10)); // " Hello"
padStart 方法不会改变原始字符串,而是返回一个新字符串。如果当前字符串的长度已经大于等于指定的长度,则不会添加任何字符。如果省略第二个参数,则默认使用空格字符来填充字符串。
26. padEnd(index, str)
功能:返回一个新字符串,其中添加了指定的字符或字符串,使得字符串达到指定的长度。
参数:
- index,必须,表示最终字符串的长度。
- str,可选,表示要添加的字符或字符串,如果省略,则默认为添加空格字符。
let str = "Hello";
console.log(str.padEnd(10, "x")); // "Helloxxxxx"
console.log(str.padEnd(10)); // "Hello "
27. parseInt()
功能:将一个字符串转换为一个整数。返回一个整数,表示转换后的结果。
参数:
- str,必须,表示要转换的字符串。
- radix,可选,表示要使用的进制数,默认为 10。
let str = "123";
console.log(parseInt(str)); // 123
console.log(parseInt("010")); // 10
console.log(parseInt("100", 2)); // 4
console.log(parseInt("0x10")); // 16
parseInt 方法只会解析字符串中的前缀数字字符,如果字符串中包含非数字字符,则会忽略这些字符。如果省略第二个参数,则默认使用十进制进制数。
28. parseFloat()
功能:将一个字符串转换为一个浮点数。返回一个浮点数,表示转换后的结果。
参数:
- str,必须,表示要转换的字符串。
let str = "3.14";
console.log(parseFloat(str)); // 3.14
console.log(parseFloat("3.14 is a pi number")); // 3.14
console.log(parseFloat("10.1e2")); // 1010
parseFloat 方法只会解析字符串中的前缀数字字符和小数点,如果字符串中包含非数字字符,则会忽略这些字符。如果字符串中包含指数表示,例如 10.1e2,则会按照科学计数法解析为一个浮点数。