JavaScript slice() 语法
slice() 是 JavaScript 字符串的一个方法,它用于截取字符串的一部分,并返回截取部分。
语法:
str.slice(start, end)说明:
slice() 方法接收以下 2 个参数。
start(可选):截取的开始下标(包含)。如果省略,则表示从下标 0 开始。end(可选):截取的结束下标(不含)。如果省略,则表示截取到末尾。
slice(start, end) 截取范围为:[start, end),也就是:包含 start 但不包含 end。其中,end 可以省略。当 end 省略时,获取的范围为:start 到结尾。
start 和 end 的取值还可以是负数,比如 -1 表示最后一个元素,而 -2 表示倒数第 2 个元素,依此类推。
如果 start 大于 end,则 slice() 会返回一个空字符串。
提示:
- slice() 方法不会修改原字符串,而是返回一个新字符串。
- 数组也有 slice() 方法,详情请看:JavaScript 数组 slice() 方法。
JavaScript slice() 摘要
| 属于 | JavaScript 截取字符串 |
|---|---|
| 使用频率 | 高 |
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| MDN | 查看 |
JavaScript slice() 示例
接下来,我们通过几个简单的例子来讲解一下 JavaScript slice() 方法是如何使用的。
示例 1:slice() 带 1 个参数
const str = "JavaScript";
const result = str.slice(2);
console.log(str);
console.log(result);运行结果如下。
JavaScript
vaScript分析:
str.slice(2) 表示截取的范围为:下标 2 到结尾。从结果也能看出来,slice() 方法不会修改原字符串,而是返回一个新的字符串。
示例 2:slice() 带 2 个参数
const str = "JavaScript";
const result = str.slice(0, 4);
console.log(result);运行结果如下。
Java分析:
str.slice(0, 4) 表示截取的范围为:[0, 4),注意是包括 0 但不包括 4。
示例 3:slice() 不带参数
const str = "JavaScript";
const result = str.slice();
console.log(result);运行结果如下。
JavaScript分析:
当 slice() 方法不带参数时,表示截取整个字符串,相当于复制字符串。
示例 4:slice() 使用负下标
const str = "JavaScript";
const result = str.slice(-6, -1);
console.log(result);运行结果如下。
Scrip分析:
str.slice(-6, -1) 表示截取的范围为:[-6, -1),注意是包括 -6 但不包括 -1。如果你想要截取下标范围为 “倒数第6个至结尾” 的部分,应该写成:str.slice(-6)。
slice()、substring() 与 substr()
slice()、substring() 和 substr() 这 3 个方法都用于截取字符串的一部分,初学的小伙伴很容易将它们混淆,下面来总结一下。
- substr() 方法在最新的 ECMAScript 标准中已经被废弃,因此该方法不需要再去了解。
- slice() 和 substring() 的用法相差无几,不过 slice() 的功能更加强大,因为它可以使用负下标。
对于初学者而言,你只需要重点掌握 slice() 这一个方法即可。
