JavaScript 中 String.slice 和 String.substring 的區別
-
什麼是 JavaScript 中的字串和
原型
-
什麼是 JavaScript 中的
slice
和substring
-
JavaScript 中
slice
和substring
之間的相似之處是什麼 -
JavaScript 中
slice
和substring
之間的區別是什麼
在本教程文章中,我們將討論 JavaScript 中的 slice 和 substring 以及它們的區別和區別;本文將解決以下問題:
- 什麼是字串和原型
- 什麼是
slice
和substring
slice
和substring
之間有什麼相似之處slice
和substring
之間有什麼區別
什麼是 JavaScript 中的字串和原型
讓我們從討論 String
物件開始。string 物件用於表示字元序列,通常用於需要表示為文字的資料。
JavaScript 通過將原始值包裝在一個特殊的物件包裝器
中來將它們視為物件,該物件包裝器
提供了額外的功能,例如輔助方法和屬性。每個原始型別都有它的物件包裝器
;字串型別稱為 String
。
讓我們把注意力集中在 prototype
上,一個 prototype
是一個包含所有 JavaScript 物件的全域性屬性。它允許向現有物件新增新方法和屬性。
function footballClub(name, stadium, founded) {
this.name = name;
this.stadium = stadium;
this.founded = founded;
}
footballClub.prototype.firstTeamPlayers = 11;
const FCB = new footballClub('FC Barcelona', 'Camp Nou', 1899);
console.log(FCB.firstTeamPlayers);
// logs 11
輸出:
11
在上面的示例中,每個 footballClub
例項都將 firstTeamPlayers
屬性設定為 11
。同樣,prototype
屬性允許你向字串新增新的屬性和方法。
什麼是 JavaScript 中的 slice
和 substring
slice
和 substring
是原型屬性,它們以函式的形式存在於所有 JavaScript 字串中。slice
和 substring
函式提取字串的一部分並將其作為新字串返回。slice
方法不會改變原來的 string
。
它有兩個引數,第一個引數指定開始提取的起始索引(索引從 0 開始),第二個引數指定字串的結束索引(結束索引不作為提取的一部分)
let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(3, 8);
let substringStr = str.substring(3, 8);
console.log(slicedStr) // logs: na be
console.log(substringStr) // logs: na be
輸出:
na be
na be
JavaScript 中 slice
和 substring
之間的相似之處是什麼
如果 start
等於 stop
slice
和 substring
都返回一個空字串。
let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(8, 8);
let substringStr = str.substring(9, 8);
console.log(slicedStr) // logs:
console.log(substringStr) // logs:
輸出:
如果 stop
(第二個引數)不包括 slice
和 substring
提取字元直到字串的末尾。
let str = "Gonna be extracted,Help!";
let slicedStr = str.slice(3);
let substringStr = str.substring(3);
console.log(slicedStr) // logs: na be extracted,Help!
console.log(substringStr) // logs: na be extracted,Help!
輸出:
na be extracted,Help!
na be extracted,Help!
如果 start
或 stop
引數大於字串的長度,則將使用字串的長度而不是傳遞的引數。
let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(1, 100);
let substringStr = str.substring(1, 100);
console.log(slicedStr) // logs: onna be extracted,Help!
console.log(substringStr) // logs: onna be extracted,Help!
輸出:
onna be extracted,Help!
onna be extracted,Help!
JavaScript 中 slice
和 substring
之間的區別是什麼
如果 start
引數大於 slice
中的 stop
引數,它將返回一個空字串,而如果是這種情況,substring
將交換這兩個引數。
let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(8, 3);
let substringStr = str.substring(8, 3);
console.log(slicedStr) // logs:
console.log(substringStr) // logs: na be
輸出:
na be
如果 start
引數或 stop
引數為負數或 NaN
,則將其視為 substring
中的 0
,而在 slice
中,如果 start
引數為負數,則設定字元字串的結尾。
let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(-1);
let substringStr = str.substring(-1);
console.log(slicedStr) // logs: !
console.log(substringStr) // logs: Gonna be extracted,Help!
輸出:
!
Gonna be extracted,Help!