在 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。