javascript中substring,substr和slice对比
欢迎访问我的博客https://qqqww.com/,祝所有码农同胞们早日走上人生巅峰,迎娶白富美~~
先写下最终结论,这样方便阅读者快速使用:
- substring(a, b):指的是截取从开始位置到结束位置,
a
:开始位置,b
:结束位置的后一位- slice(a, b):指的是截取从开始位置到结束位置,且
a
和b
可以为负数,a
:开始位置,b
:结束位置的后一位- substr(a, b):指的是从开始位置
a
截取长度为b
的字符号才能,且a
和b
可以为负数,a:开始位置,b:要截取的字符串长度
substring
提取在
substring(a, b)
两个参数之间的字符串片段
语法
1 | substring(a, b) // a:开始位置,b:结束位置的后一位 |
参数
a
: 必需,一个非负整数,规定截取字符串的第一个字符在原字符串中的位置,即规定了截取的开始位置b
: 可选,一个非负整数,规定截取字符串的最后一个字符在原字符串中的位置的前一位,即规定了截取的终止位置,如果省略该参数,那么返回的子串会一直到字符串的结尾- 注意:
- 如果参数
a = b
,则返回空字符串 - 如果
a > b
,则该方法会先交换这两个参数,再执行该方法程序
- 如果参数
返回值
返回一个新的字符串(a
位置到b - 1
位置的字符串片段)
实例
建议直接去浏览器控制台调试
1 | var str = 'sajdadjsahdah' |
slice
提取在
slice(a, b)
两个参数之间的字符串片段
语法
1 | slice(a, b) // a:开始位置,b:结束位置的后一位 |
参数
a
: 必需,正负整数都支持,正数表示从字符串头到尾的起始下标,负数表示从字符串的尾到头的起始下标b
: 可选,正负整数都支持,正数表示从字符串头到尾的起始下标 - 1,负数表示从字符串的尾到头的起始下标 - 1- 注意:
- 如果参数
a = b
或者a > b
,则返回空字符串
- 如果参数
返回值
返回一个新的字符串(a
位置到b - 1
位置的字符串片段)
实例
1 | var str = 'sajdadjsahdah' |
substr
提取
slice(a, b)
从a
开始,长度为b
的字符串
语法
1 | substr(a, b) // a: 起始位置,b:截取的字符串长度 |
参数
a
: 必需,正负整数都支持,正数表示从字符串头到尾的起始下标,负数表示从字符串的尾到头的起始下标b
: 可选,将要截取的字符串长度- 注意:
- 如果省略参数
b
,那么返回的子串会一直到字符串的结尾
- 如果省略参数
返回值
返回一个新的字符串(从a
位置开始,长度为b
的字符串)
实例
1 | var str = 'sajdadjsahdah' |