js截取字符串函数
时间: 2025-05-30 11:43:28 浏览: 19
### JavaScript 中用于截取字符串的方法
在 JavaScript 中,常用的字符串截取方法主要包括 `slice()`、`substring()` 和 `substr()`。以下是这些方法的具体介绍及其特点:
#### 1. **`slice()` 方法**
`slice()` 是一种灵活的字符串截取方式,支持正数和负数作为起始位置参数。
- 如果提供两个参数,则第一个表示起始索引(包含),第二个表示结束索引(不包含)。
- 负数会被解释为从字符串末尾开始计算的位置。
示例代码如下:
```javascript
let str = "Hello, world!";
let result = str.slice(7, 12); // "world"
```
此方法适用于大多数场景,并且不会修改原始字符串[^1]。
---
#### 2. **`substring()` 方法**
`substring()` 的功能类似于 `slice()`,但其处理负数的方式有所不同。
- 它不允许使用负数作为参数;如果提供了负数值,则会自动将其视为 `0`。
- 同样接受两个参数:起始索引和结束索引,返回的是从起始索引到结束索引之间的子串(不包括结束索引处的字符)。
示例代码如下:
```javascript
let str = "Hello, world!";
let result = str.substring(7, 12); // "world"
```
该方法适合于不需要负数索引的情况。
---
#### 3. **`substr()` 方法**
尽管 `substr()` 曾经广泛应用于旧版代码中,但在现代开发中已经被标记为废弃状态,因此建议避免使用它。
- 接受两个参数:起始索引和希望提取的字符数量。
- 支持负数作为起始索引,此时会从字符串末尾向前计数。
示例代码如下:
```javascript
let str = "Hello, world!";
let result = str.substr(7, 5); // "world"
```
需要注意的是,由于兼容性和未来维护的原因,推荐优先考虑其他替代方案[^2]。
---
### 总结对比表
| 方法 | 参数含义 | 是否支持负数 | 备注 |
|--------------|------------------------------|--------------|----------------------------------------------------------------------|
| `slice()` | (start, end) | 支持 | 更加通用,推荐使用 |
| `substring()`| (startIndex, endIndex) | 不支持 | 对负数做特殊处理,默认转为零 |
| `substr()` | (start, length) | 部分支持 | 已被废弃 |
以上是对几种常见字符串截取方法的功能描述以及适用范围分析。开发者应根据实际需求选择合适的技术实现路径。
阅读全文
相关推荐


















