substr()与substring()的区别

发布时间 2023-05-27 10:24:11作者: 恰饭的绿巨人

在 JavaScript 编程语言中,substr() 和 substring() 都是字符串函数,用于截取指定位置的子字符串。虽然这两个函数都可以用于截取字符串,但它们之间存在一些区别。

substr(startIndex, length) 函数:该函数返回从起始索引开始的指定长度的子字符串。其中,startIndex 参数表示要截取的子字符串的起始索引位置,length 参数表示要截取的子字符串的长度。如果省略 length 参数,则 substr() 函数将返回从起始索引到字符串末尾的字符串。需要注意的是,在使用 substr() 函数时,如果 startIndex 是负数,则它将从字符串的末尾倒数计算。例如,substr(-3, 2) 表示从倒数第三个字符开始,截取长度为 2 的子字符串。

substring(startIndex, endIndex) 函数:该函数返回从起始索引到结束索引之间的子字符串,不包括结束索引位置的字符。其中,startIndex 参数表示要截取的子字符串的起始索引位置,endIndex 参数表示要截取的子字符串的结束索引位置。需要注意的是,substring() 函数中的 endIndex 参数是一个必需的参数,如果省略该参数,则函数将返回从 startIndex 开始到字符串末尾的字符串。与 substr() 不同的是,如果传入的 startIndex 大于 endIndex,则 substring() 函数会自动交换这两个参数的值。此外,如果 startIndex 或 endIndex 是负数,则这两个参数将被视为0。

 

总之,substr() 和 substring() 都是字符串函数,用于截取指定位置的子字符串。它们之间的主要区别在于参数的含义和使用方式。需要根据实际情况选择适当的函数来截取字符串。