引言
- 在js中,字符串处理是很重要的;
- 常用的字符串的截取函数有三个,分别是slice()、substring()、substr();
- 他们的区别在哪里呢?我做了一点小研究;
slice(start, end)函数
- 截取值包含start不包含end;
- start如果为负数,会从尾部算起,-1表示倒数第一个,-2表示倒数第2个,此时end必须为负数,并且是大于start的负数,否则返回空字符串;
- slice的end如果为负数,同样从尾部算起,如果其绝对值超过原字符串长度或者为0,返回空字符串;
1 | <script> |
substring(start, end)函数
- 截取值包含start不包含end;
- 不允许操作数为负数;
- 取start和end中较小的值为start,二者相等返回空字符串,任何一个参数为负数被替换为0(即该值会成为start参数);
1 | <script> |
substr(start, length)函数
- 其第二个参数表示要截取的长度,而不是截取的终点,若该参数为负数或0,都将返回空字符串;
- start参数可以为负值;
1 | <script> |