一次性搞懂JS字符串截取方法substring()、slice()以及substr()的用法和区别

发布时间 2023-09-22 11:19:38作者: hanguahannibk

substring()和slice()都接受两个参数,“start”和“end”。

“start”表示截取的开始位置,“end”表示结束的位置(不包括该位置的字符,也就是前要后不要)。

如果不传参数,则返回字符串本身的一个副本。

 

如果只传一个参数,则从该位置开始,截取到字符串的末尾。

 

如果传递两个参数,则遵循前要后不要原则。

 

如果第二个参数大于等于字符串长度,则和不传第二个参数效果是一样的。

 

二者的不同点在于对负数的处理。

substring()不支持负数参数。如果传递负数作为参数,该方法会将其作为0处理。如果只传递一个负数,则返回字符串的副本,如果传递两个负数,则返回空字符串。

 

slice()方法传入的负数表示从字符串末尾开始计算位置。注意:-1表示字符串的最后一个字符,-2表示倒数第二个字符,以此类推。

 另外一个方法,substr()也接受两个参数。“start”和“length”。

“start”表示截取的起始位置,可以为正数,也可以是负数。如果是正数,表示从字符串的开头开始计算,负数则从末尾计算。最后一位是-1,以此类推。

“length”表示截取的字符数量。不传则是截取到字符串的末尾。

 以上。