在JavaScript中,截取字符串可以使用以下方法:
1. `slice(start, end)`
`start`:开始截取的索引位置,非负数。
`end`:结束截取的索引位置,非负数。
如果省略`end`参数,则截取从`start`开始到字符串末尾的所有字符。
如果`start`大于`end`,则返回空字符串。
2. `substring(start, end)`
`start`:开始截取的索引位置,非负数。
`end`:结束截取的索引位置,非负数。
如果省略`end`参数,则截取从`start`开始到字符串末尾的所有字符。
如果`start`或`end`为负数,则将其视为0。
3. `substr(start, length)`
`start`:开始截取的索引位置,非负数。
`length`:截取的字符数,非负数。
如果省略`length`参数,则截取从`start`开始到字符串末尾的所有字符。
如果`length`为0或负数,则返回空字符串。
示例代码:
```javascript
let str = "Hello World!";
let result1 = str.slice(0, 5); // 输出 "Hello"
let result2 = str.substring(0, 5); // 输出 "Hello"
let result3 = str.substr(0, 5); // 输出 "Hello"
let result4 = str.slice(6, 11); // 输出 "World"
let result5 = str.substring(6, 11); // 输出 "World"
let result6 = str.substr(6, 5); // 输出 "World"
以上方法均不会改变原始字符串,而是返回一个新的字符串。需要注意的是,`slice()`和`substring()`方法在处理负数索引时的行为略有不同,`slice()`会将负数索引转换为从字符串末尾开始计算的索引,而`substring()`会将负数索引视为0。