从subString与slice的语法定义来看,两者的用途相似。但是深入学习后,发现他们之间存在许多不同。
两者定义如下:
| subString | slice |
|---|---|
| 作用:截取指定位置之间的字符串 | 作用:提取字符串中的一部分,并返回这个新的字符串 |
| 语法:string string.substring(indexStart [, indexEnd]) | 语法:string string.slice(beginSlice[, endSlice]) |
| 参数:indexStart截取的起始位置/indexEnd截取的结束位置,默认为最后一个字符的位置 | 参数:beginSlice 起始位置/endSlice结束位置,默认为最后一个字符的位置 |
| 返回值:返回截取后的字符串,不包括结束的位置 | 返回值:返回截取后的字符串,不包括结束的位置 |
它们的不同之处来自于对不同参数的处理:
| subString | slice |
|---|---|
| 参数为非负数,如果参数为负数,会自动将负数转换成0 | 参数可为负数;负数代表从字符串的最后一位往前获取 |
| 当起始位置参数大于结束位置参数,subString会做判断,将两个参数进行互换 | 当起始位置参数大于结束位置参数,获取结果为空 |
本文对比了JavaScript中subString与slice两种字符串截取方法的区别。subString不允许使用负数作为参数,而slice允许使用负数并能从字符串末尾开始计数。此外,当起始位置大于结束位置时,两者的表现也不同。
750

被折叠的 条评论
为什么被折叠?



