substr(start [, length]) substring(start [, end]) slice(start [, end]) |
① 从定义上看: substring和slice是同类的,参数都是字符串的某个{开始}位置到某个{结束}位置(但{结束}位置的字符不包括在结果中);而substr则是字符串的某个{开始}位置起,数length个长度的字符才结束。-- 共性:从start开始,如果没有第2个参数,都是直到字符串末尾。
② substring和slice的区别则是,slice可以接受“负数”,表示从字符串尾部开始计数; 而substring则把负数或其它无效的数,当作0。
1
2
|
"hello world!" .slice(-6, -1) // "world"
"hello world!" .substring( "abc" , 5) // "hello"
|
③ substr的start也可接受负数,也表示从字符串尾部计数,这点和slice相同;但substr的length则不能小于1,否则返回空字符串。
1
2
|
"hello world!" .substr(-6, 5) // "world"
"hello world!" .substr(0, -1) // ""
|
所以: 很多人认为substring是多余的:如果只知道位置,那么用slice;如果知道长度,则用substr。
相关推荐
JavaScript 字符串截取函数 slice、substring 和 substr 的比较 ...slice()、substring() 和 substr() 方法都是字符串截取函数,但是它们之间有着一些区别和特点。在使用时需要根据实际情况选择合适的方法。
本文将对JavaScript字符串截取的三个主要函数slice()、substring()和substr()进行详细的比较和分析,以帮助开发者更好地理解和掌握它们在实际编程中的应用。 首先,我们来看slice()函数。slice()函数用于从已有的...
在JavaScript中,处理字符串时经常需要截取字符串的某一部分,这时会用到字符串操作方法slice()、substr()和substring()。这三个方法都可以用来从字符串中提取子字符串,但是它们在参数的使用上有所不同,尤其是在...
其中,substr、substring和slice这三个方法都可以用来截取字符串中的某一部分,但它们之间存在着一些重要的区别。本文将详细探讨这三个方法的用法和它们之间的区别,以及在不同浏览器中的表现差异。 首先,我们来...
JavaScript字符串处理中,substr、substring、slice和splice这几个方法常常让开发者感到混淆,它们各自有着不同的用途和特点。了解这些方法的区别对于编写兼容性良好的代码非常关键,尤其是在处理可能为负数的参数时...
split JS-字符串截取方法split、slice、substring、substr的区别.md
JavaScript中提取字符串子串的操作是通过slice、substring和substr这三个方法来实现的。它们各自有不同的使用场景和特点。下面对这三个方法进行详细介绍和比较: 1. substr()方法:该方法从指定位置提取指定数量的...
在JavaScript中,字符串截取是常见的操作,主要通过`substring()`、`substr()`和`slice()`这三个方法来实现。它们都能从原始字符串中提取部分字符并返回新的字符串,但参数和处理方式略有不同。 首先,`substring()...
在JavaScript中,字符串截取是常见的操作,主要通过`slice()`, `substr()`, 和 `substring()` 这三个函数来实现。它们都是用来提取字符串的一部分并返回新的字符串,但各有其特性和用法。 首先,`slice()` 函数接受...
本文主要探讨了三种用于截取字符串的常见方法:`slice()`、`substring()` 和 `substr()`。它们都有类似的功能,即从原始字符串中提取一部分新的字符串,但各有其特点和适用场景。 首先,我们来看`slice()`方法。`...
stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符。 start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。 stop可选。一个非负的整数,比要提取的...
常用三个的字符串截取函数:substr substring slice,调用方式如下 代码如下: stringObject.slice(start,end) stringObject.substr(start,length) stringObject.substring(start,end) 最明显的是substr,第二个参数...