slice(start,end)和substring(start,end)方法一样,表示返回从开始位置到结束位置的字符串;
只是不同的是slice参数可以是负值,而substring不支持,如substring(-1),它会被视为substring(0);
因此substring的start和end位置调换也没关系,规则是由数值小的位置到数值大的位置,而slice则不行!
当start,end都为正或为负时,slice的start必须比end小,否则没有值,一正一负时
var str="Hello world!";
console.log(str.slice(3,1));//没有输出值
console.log(str.slice(-1,-3));//没有输出值
console.log(str.slice(3,-1)); //输出lo world
console.log(str.slice(-3,1));//没有输出值
console.log(str.slice(3,-11));//没有输出值
console.log(str.substring(3,-11)); //输出Hel
另外substr(start,length)接收两个参数,第一个参数表示开始位置,第二个参数表示要截取的字符个数,允许负值。
原文:http://www.cnblogs.com/luoyingfeng/p/6523172.html