这两个函数在函数上非常相似用法但在某些情况下又有所不同。让我们看看它们之间的区别。
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。