js substr 与 substring 有什么区别吗
在 JavaScript 中,substr 和 substring 是用于提取字符串的两个方法,它们的功能类似,但有一些区别:
1. substr(start, length) 方法:
-
参数:
start:必需。要提取的子字符串的起始位置。如果为负数,表示从字符串末尾开始计数。length:可选。要提取的字符数。如果省略或为负数,则提取到字符串的末尾。
-
返回值:
- 返回从指定位置开始的指定长度的子字符串。
-
示例:
javascriptCopy Codevar str = "Hello, world!"; console.log(str.substr(1, 4)); // 输出 "ello" console.log(str.substr(-6)); // 输出 "world!"
2. substring(start, end) 方法:
-
参数:
start:必需。要提取的子字符串的起始位置。如果为负数,会被当作 0。end:可选。要提取的子字符串的结束位置(不包括该位置的字符)。如果省略或为负数,会被当作字符串的长度。
-
返回值:
- 返回位于两个指定下标之间的子字符串。
-
示例:
javascriptCopy Codevar str = "Hello, world!"; console.log(str.substring(1, 4)); // 输出 "ell" console.log(str.substring(4)); // 输出 "o, world!"
区别总结:
substr的第二个参数是要提取的字符数,而substring的第二个参数是要提取的子字符串的结束位置。substr允许第一个参数为负数,表示从字符串末尾开始计数;而substring不允许负数参数,会被当作 0。- 当
start参数大于end参数时,substr会将它们交换,而substring会将负数参数视为 0。
浙公网安备 33010602011771号