slice和substr
时间: 2023-09-03 17:15:23 浏览: 44
slice和substr都是用来从字符串中获取子字符串的函数,但它们的用法稍有不同。
slice的用法是:`str.slice(start, end)`,其中start是要截取的起始位置,end是要截取的结束位置(不包括该位置的字符)。如果省略end,则截取到字符串末尾。如果start和end都是负数,则它们被视为从字符串末尾开始的位置。例如:
```javascript
const str = 'Hello, world!';
const slicedStr1 = str.slice(0, 5); // "Hello"
const slicedStr2 = str.slice(7); // "world!"
const slicedStr3 = str.slice(-6); // "world!"
const slicedStr4 = str.slice(7, -1); // "world"
```
substr的用法是:`str.substr(start, length)`,其中start是要截取的起始位置,length是要截取的子字符串的长度。如果省略length,则截取到字符串末尾。如果start是负数,则它被视为从字符串末尾开始的位置。例如:
```javascript
const str = 'Hello, world!';
const substr1 = str.substr(0, 5); // "Hello"
const substr2 = str.substr(7); // "world!"
const substr3 = str.substr(-6); // "world!"
const substr4 = str.substr(7, 5); // "world"
```
总体来说,slice更常用,因为它的用法更灵活,可以通过两个参数来确定子字符串的起始位置和结束位置。而substr则只能通过一个参数来确定子字符串的长度,不太灵活。