首页 > 其他 > 详细

如何使用slice,substr代替substring(原创)

时间:2015-12-01 12:24:40      阅读:223      评论:0      收藏:0      [点我收藏+]
//写这个是为了加深对substring和slice的理解

substring的任何一个参数小于0,都会被替换成0.两个参数,最小值会被当做start,最大值当做end.


substring和slice的区别:

slice中的start如果为负数,会从尾部算起,-1表示倒数第一个,-2表示倒数第2个,此时end必须为负数,并且是大于start的负数,否则返回空字符串

slice的end如果为负数,同样从尾部算起,如果其绝对值超过原字符串长度或者为0,返回空字符串

substring会取start和end中较小的值为start,二者相等返回空字符串,任何一个参数为负数被替换为0(即该值会成为start参数)

 

而substr比较特殊

substr的end参数表示,要截取的长度,若该参数为负数或0,都将返回空字符串

var str = "hello";
var start = 2;
var end = 1;
//substring的参数最小为0
start = Math.max(start,0);
end = Math.max(end,0);
//substring的参数是可以随意挪位,所以要稍微排序
var max = Math.max(start,end);
var min = Math.min(start,end);

console.debug(str.substring(start,end));
console.debug(str.slice(min,max));
console.debug(str.substr(min,max - min));

 




三者的区别参考自:
http://www.cnblogs.com/langu/p/3518605.html

如何使用slice,substr代替substring(原创)

原文:http://www.cnblogs.com/geilishu/p/5009450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!