js中substr与substring区别

substrsubstring都是截取字符串中子串,非常相近,非常容易弄混,可以有一个或两个参数。

语法:string.substr(start,length) 第一个字符的索引是0,start必选 length可选

   string.substring(start,length) 第一个字符的索引是0,start必选 end可选

相同点:当有一个参数时,两者的功能是一样的,返回从start指定的位置直到字符串结束的子串

var str = "hello Tony";

str.substr(6);  //Tony

str.substring(6); //Tony

不同点:有两个参数时

(1)substr(start,length) 返回从start位置开始length长度的子串

 “goodboy”.substr(1,6); //oodboy 

 

【注】当length为0或者负数,返回空字符串。

  "goodboy".substr(1,0);   //""

 

 如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

"goodboy".substr(-1)  // "y"

 

(2)substring(start,end) 返回从start位置开始到end位置的子串(不包含end)

“goodboy”.substring(1,6);  //oodbo

注:ECMA 并没有对 substr() 进行标准化,所以不建议使用 substr()

posted @ 2019-11-20 09:06  葡萄美酒夜光杯、  阅读(1395)  评论(0编辑  收藏  举报
(function(){var audio=new Audio("https://files.cnblogs.com/files/yanggb/bgmusic.js");audio.play();audio.volume=0.02;audio.loop=true})();