slice(start,end)和substring(start,end)都接收两个参数,表示从start开始截取,到end结束位置的前一位。返回截取的字符串。
若第二个参数大于第一个参数,且都为正数,则slice会返回空字符串,substring会判断若第二个参数大于第一个参数,则交换这两个参数的位置,再进行截取字符串。
若参数中出现负数,则substring会将负数转为0,slice会将其作为倒数第几位进行截取。
substr(start,len)接收的两个参数表示从start位置开始,截取len个字符串,若出现负数,start位置会从倒数开始,len会转为0;
var str='1m2mgfdgfdgfgdggerererwe';
str.substr(3,3)//"mgf"
str.substr(3,-3)//""
str.substr(-3,3)//"rwe"
str.substring(3,4)//"m"
str.substring(3,-4)//"1m2"
str.substring(-3,-4)//""
str.substring(-3,4)//"1m2m"
str.slice(-3,4)//""
str.slice(3,6)//"mgf"
str.slice(6,3)//""
str.slice(3,-6)//"mgfdgfdgfgdgger"