js中String的slice方法和substring方法实现的效果很类似,都是对字符串进行截取,今天俺跟大家一起来学习它们之间的相同之处和不同之处。
slice()的作用类似于substring(),但是它们也有一些不同的行为。
语法
/** *2019/8/26 *前端教程:www.pipipi.net */ Syntax: string.slice(start, stop); Syntax: string.substring(start, stop);
相同之处
start代表起始位置,stop代表截取的最后位置
- 如果start等于stop,那么返回一个空的字符
- 如果不写stop,那么默认将字符串提取到末尾
- 如果任何一个参数大于字符串的长度,那么将使用字符串的长度。
substring()的区别
- 如果start> stop,那么substring将交换这两个参数。
- 如果任一参数为负数或为NaN,则将其视为0。
slice()的区别
- 如果start> stop,slice()方法将返回空字符串。(“”)
- 如果start为负数:从字符串末尾设置char,与Firefox中的substr()完全相同
- 如果stop为负:将stop设置为:string.length – Math.abs(stop)
源码分析链接