1、他们都接收两个参数,
slice和substring接收的是起始位置和结束位置(不包括结束位置)
substr接收的则是起始位置和所要返回的字符串长度。
2、substring 特殊的地方 x.substring(7,4) 会自动的变成 x.substring(4,7) 对 这就是他的特殊之处 自动以小数作为开始的坐标,大数作为end.
3、当接收的参数是负数时
假设x.length=9
slice会将它字符串的长度与对应的负数相加,结果作为参数; x.slice(1,-3) ----> x.slice(1,6)
substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;x.substr(-1,-3) --> x.substr(8,-3)
substring则干脆将负参数都直接转换为0。 x.substring(-7) --->x.substring(0)