String.slice和String.substring有什么区别?
有谁知道这两种方法之间的区别?
String.prototype.sliceString.prototype.substring
回答:
slice()
就像substring()
有几种不同的行为一样。
Syntax: string.slice(start, stop);Syntax: string.substring(start, stop);
- 如果
start
等于stop:
返回一个空字符串 - 如果
stop
省略,则将字符提取到字符串的末尾 - 如果任一参数大于字符串的长度,则将使用字符串的长度来代替。
- 如果为
start > stop,substring
则将交换这两个参数。 - 如果任一参数为负或为
NaN
,则将其视为0。
- 如果为
start > stop
,slice()
则返回空字符串。(""
) - 如果
start
为负:像substr()
在Firefox中一样,从字符串末尾设置char 。在Firefox和IE中都观察到此行为。 - 如果
stop
为负:停止点设置为:(string.length – Math.abs(stop)
原始值),除了ECMA规范中以0(因此Math.max(0, string.length + stop)
)为界。
以上是 String.slice和String.substring有什么区别? 的全部内容, 来源链接: utcz.com/qa/414844.html