javascript slice , substring 和 substr 的建议

在javascript中,提取字符串主要有以下三种方法 slice,substring 和 substr

// slice
// 分析: string.slice(start [, stop])
"Good news, everyone!".slice(5,9);
// 'news'

// substring
// 分析: string.substring(start [, stop])
"Good news, everyone!".substring(5,9);
// 'news'

// substr
// 分析: string.substr(start [, length])
"Good news, everyone!".substr(5,4);
// 'news'

所有的这些方法 包含一个开始下标和一个可选的结束下标(or 字符串长度) 作为参数,但是他们在使用中会有一些差异

"substr 可能会给出一个不符合逻辑的结果,现代浏览器允许使用一个负数作为开始并且允许不设置结束字符,但是IE8和比较低级的浏览器的开始下标必须为0"

"substring 的参数是可逆的,因为它会使用最小的参数值作为开始下标,最大的参数值作为结束下标,它严格遵循开始下标为0"

"slice 如果开始的下标是负数,它的提取从末尾开始"

// "Good news, everyone!"
"Good news, everyone!".substring(-4);

// "one!" modern browsers, including IE9
// "Good news, everyone!" IE8 and lower
"Good news, everyone!".substr(-4);

// "one!"
"Good news, everyone!".slice(-4);

通过对以上三个方法的粗略的对比后,个人意见是使用slice方法,它支持从末尾开始提取,当开始下标大于结束的下标的时候返回空。在原则上至少比substring包含的参数方法更合理。个人不建议使用substr 因为浏览器兼容性不一致。

 

 

出处 http://www.jacklmoore.com/notes/substring-substr-slice-javascript/

posted @ 2016-07-04 11:03  一渡  阅读(126)  评论(0)    收藏  举报