這兩個函數在函數上非常相似用法但在某些情況下又有所不同。讓我們看看它們之間的區別。
string.slice():
這種方法選擇字符串的一部分並將所選部分作為新字符串返回。開始和結束參數用於指定提取的部分。第一個字符以索引 0 開頭。
用法:
str.slice(start, end)
String substring():
該函數的語法與slice()此方法選擇字符串的一部分並將所選部分作為新字符串返回。開始和結束參數用於指定提取的部分。第一個字符以索引 0 開頭。
用法:
str.substring(start, end)
共同結果在給定情況下兩者給出相同的結果。
- 如果 start == stop,則都返回空字符串
- 如果省略停止符,則兩者都會提取字符直到字符串末尾
- 如果任何參數大於字符串的長度,則在這種情況下將使用字符串的長度。
JavaScript substring()substring()的不同結果
- 如果 start > stop,則該函數交換兩個參數。
- 如果任何參數為負數或 NaN,則將其視為 0。
JavaScript slice()slice()的不同結果
- 如果開始>停止,該函數將返回一個空字符串。 (“”)
- 如果開頭為負數,則從字符串末尾開始設置字符,如substr()。
- 如果 stop 為負數,則設置 stop = string.length - Math.abs(stop) (原始值)
示例 1:這些示例在兩種情況下給出相同的結果。
Javascript
// Input string
let str = "This is GeeksForGeeks";
console.log("Str = '" + str + "'");
// Function to display output difference
function Geeks() {
console.log("str.slice() = " + str.slice(0, 13));
console.log(
"str.substring() = " + str.substring(0, 13)
);
}
// Function call
Geeks();
輸出
Str = 'This is GeeksForGeeks' str.slice() = This is Geeks str.substring() = This is Geeks
示例 2:在此示例中,如果substring()它交換參數時開始>停止在哪裏slice()返回空字符串。
Javascript
// Input string
let str = "This is GeeksForGeeks";
console.log("Str = '" + str + "'");
// Function to display output difference
function Geeks() {
console.log("str.slice() = " + str.slice(13, 0));
console.log(
"str.substring() = " + str.substring(13, 0)
);
}
// Function call
Geeks();
輸出
Str = 'This is GeeksForGeeks' str.slice() = str.substring() = This is Geeks
示例 3:在此示例中,如果substring()負參數被視為 0,其中slice()返回空字符串。
Javascript
// Input string
let str = "This is GeeksForGeeks";
console.log("Str = '" + str + "'");
// function to display output diff
function Geeks() {
console.log("str.slice() = " + str.slice(-13, 7));
console.log(
"str.substring() = " + str.substring(-13, 7)
);
}
// Function call
Geeks();
輸出
Str = 'This is GeeksForGeeks' str.slice() = str.substring() = This is
slice()和substring()方法的區別:
JavaScript 字符串.slice() 方法 |
JavaScript 字符串.substring() 方法 |
---|---|
它用於提取字符串的一部分 | 它用於提取字符串中的子字符串 |
它的返回值是一個字符串,因為它返回字符串的某些部分。 | 它不會扭曲原始字符串 |
它將參數作為整數,即;我們要從中提取字符串的字符串的索引 | 它的參數是我們要提取的子字符串的開始和結束位置 |
它是 Javascript 中內置的字符串方法 | 它也是 Javascript 中內置的字符串方法。 |
它不會扭曲原始字符串 | 它的返回值是string類型 |
相關用法
- Javascript String.fromCharCode()用法及代碼示例
- Javascript String.fromCodePoint()用法及代碼示例
- Javascript String()用法及代碼示例
- Javascript String includes()用法及代碼示例
- Javascript String substr()用法及代碼示例
- Javascript String trim()用法及代碼示例
- Javascript String startsWith()用法及代碼示例
- Javascript String lastIndexOf()用法及代碼示例
- Javascript String toUpperCase()用法及代碼示例
- Javascript String toLowerCase()用法及代碼示例
- Javascript String split()用法及代碼示例
- Javascript String indexOf()用法及代碼示例
- Javascript String endsWith()用法及代碼示例
- Javascript String concat()用法及代碼示例
- Javascript String charAt()用法及代碼示例
- Javascript String轉Binary用法及代碼示例
- Javascript String轉Number用法及代碼示例
- Javascript String轉Bytes用法及代碼示例
- Javascript String轉Uppercase用法及代碼示例
- Javascript String轉Lowercase用法及代碼示例
- Javascript Static和Const的區別用法及代碼示例
- Javascript Symbol.for()用法及代碼示例
- Javascript Symbol.hasInstance用法及代碼示例
- Javascript Symbol.keyFor()用法及代碼示例
- Javascript Sort()用法及代碼示例
注:本文由純淨天空篩選整理自PranchalKatiyar大神的英文原創作品 Difference between String.slice and String.substring in JavaScript。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。