slice(),substring()以及substr()方法

ECMAScript中从子串创建字符串值的两种方法:slice()和substring(),这两种方法都返回要处理的字符串的子串,都接受一个或两个参数,第一个参数是要获取的子串的起始位置,第二个参数是要获取子串终止前的位置,也就是说,获取终止位置处的字符不包括在返回的值内。如果省略第二个参数,终止位就默认为字符串的长度;都不改变String对象自身的值,只返回原始的String值,保持String状态不变;
对于负数参数,
slice()方法会用字符串的长度加上参数,当只有一个参数且参数是负数x时,slice("-x")会转换为slice("字符串长度+x"),当有两个参数x,y时,slice("x,-y")会转换为slice("x,x+y");
substring()方法会将其作为 0 处理,当只有一个参数且参数是负数x时,substring("-x")会转换为slice("0"),当有两个参数x,y时,substring("x,-y")会转换为substring("x,0"),但substring() 总把较小的数字作为起始位,较大的数字作为终止位,所以是substring(0, 3);


substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符,substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
subtr()的第一个参数是要抽取的子串的起始下标。必须是数值,如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
第二个参数是子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
(注释:ECMAscript 没有对该方法进行标准化,因此反对使用它。)

猜你喜欢

转载自blog.csdn.net/weixin_42413651/article/details/80720816