js截取字符串的三个函数:slice(start,[end]),substring(start,[end])和substr(start,[length])
相关属性:
slice()
第一个参数代表开始位置,第二个参数代表结束位置的下一个位置,截取出来的字符串的长度为第二个参数与第一个参数之间的差;若参数值为负数,则将该值加上字符串长度后转为正值;若第一个参数等于大于第二个参数,则返回空字符串.
eg: ‘hello’.slice(0,3) –>”hel”
substring()
第一个参数代表开始位置,第二个参数代表结束位置的下一个位置;若参数值为负数,则将该值转为0;两个参数中,取较小值作为开始位置,截取出来的字符串的长度为较大值与较小值之间的差.
注:
- slice()和substring()的用法是相同的,返回的值也是一样的
当参数为负数时,返回值却不一样
eg: var str= ‘hello’
str.substring(0,3) –>”hel”
alert(str.slice(2,-5));//返回”h”
alert(str.substring(2,-5));//返回”he”
可以看出slice(2,-5)实际上是slice(2,3)
负5加上字符串长度8转换成正3(若第一位数字等于或大于第二位数字,则返回空字符串);
而substring(2,-5)实际上是substring(2,0),负数转换为0,substring总是把较小的数作为起始位置。
substr()
第一个参数代表开始位置,第二个参数代表截取的长度
- ‘hello’.substr(2,3) –>”llo”
PS:字符串都从0开始计起