在 JavaScript 中,substr()substring() 都是用于提取字符串中特定部分的方法,但它们有一些区别:

substr(startIndex, length)

  • 参数: 接受两个参数,第一个参数是起始索引(可以是负数,表示从字符串末尾开始计数),第二个参数是要提取的字符数。
  • 功能: 从指定的起始位置开始截取指定长度的字符。
  • 负数处理: 若第一个参数为负数,则从字符串末尾开始计数。若第二个参数为负数或超出字符串长度,则会被转换为 0。

substring(startIndex, endIndex)

  • 参数: 接受两个参数,分别是起始索引和结束索引(不包含结束索引位置的字符)。
  • 功能: 从起始索引处开始到结束索引之前(不包含结束索引位置)的字符。
  • 负数处理: 若参数为负数或者大于字符串长度,会被视为 0 或者字符串的长度。

区别:

  • 区间参数不同: substr() 的第二个参数是要提取的字符数,而 substring() 的第二个参数是结束索引位置。
  • 对负数参数处理不同: substr() 可以接受负数作为参数,而 substring() 则会将负数参数视为 0。

示例:

const str = "JavaScript";

const substrResult = str.substr(4, 6); // 从索引4开始提取6个字符(Script)
const substringResult = str.substring(4, 6); // 从索引4开始到索引6之前的字符(Sc)

需要注意的是,这两个方法在某些方面功能重叠,但在处理负数参数和第二个参数的定义上有所不同。

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.