slice()和substring()

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)接收两个参数,第一个参数表示开始位置,第二个参数表示要截取的字符个数,允许负值。
posted @ 2017-03-08 21:28  罗颖峰  阅读(1090)  评论(0编辑  收藏  举报