slice()就像
substring()有几种不同的行为一样。
Syntax: string.slice(start, stop);Syntax: string.substring(start, stop);
他们有什么共同点:
- 如果
start
等于stop:
返回一个空字符串 - 如果
stop
省略,则将字符提取到字符串的末尾 - 如果任一参数大于字符串的长度,则将使用字符串的长度来代替。
区别 :substring()
- 如果为
start > stop,substring
则将交换这两个参数。 - 如果任一参数为负或为
NaN
,则将其视为0。
区别 :slice()
- 如果为
start > stop
,slice()
则返回空字符串。(""
) - 如果
start
为负:像substr()
在Firefox中一样,从字符串末尾设置char 。在Firefox和IE中都观察到此行为。 - 如果
stop
为负:停止点设置为:(string.length – Math.abs(stop)
原始值),除了ECMA规范中以0(因此Math.max(0, string.length + stop)
)为界。



