js数组基础: slice,substr,substring傻傻分不清

176 阅读1分钟

三者比较:

1.当只有一个参数时:

  都是从此{开始索引}开始,直到字符串末尾

2.有两个参数时:

  substring和slice,参数都是字符串的某个{开始索引}位置到某个{结束索引}位置(但{结束}位置的字符不包括在结果中)。

  substr则是字符串的某个{开始索引}位置起,往后数length个长度的字符才结束;另外substr的length长度则不能小于1,否则返回空字符串

"hello!".slice(1,5// "ello"

"hello!".substring(1,5)//"ello"

"hello!".substr(1,5)//"ello!"
"hello!".substr(0, -1// "" 空字符串

接受负数为参:

slice可以接受“负数”,表示从字符串尾部开始计数; 而substring则把负数或其它无效的数,当作0。

"hello world!".slice(-6, -1// "world"

"hello world!".substring("qwe"5// "hello"

substr的start也可接受负数,也表示从字符串尾部倒数start位开始截取,这点和slice很像

"hello world!".substr(-65// "world"