字符串方法

slice()方法会将传 入的负值与字符串的长度相加,

substr()方法将负的第一个参数加上字符串的长度,而将负的第二个 参数转换为 0。

最后,substring()方法会把所有负值参数都转换为 0

IE 的 JavaScript 实现在处理向 substr()方法传递负值的情况时存在问题,它会 返回原始的字符串。IE9 修复了这个问题。

在给 slice()和 substr()传递一个负值 参数时,它们的行为相同。这是因为-3 会被转换为 8(字符串长度加参数 11+(3)=8),实际上相当 于调用了 slice(8)和 substr(8)。

但 substring()方法则返回了全部字符串,因为它将-3 转换 成了 0。

当第二个参数是负值时,这三个方法的行为各不相同。

slice()方法会把第二个参数转换为 7,这 就相当于调用了 slice(3,7),因此返回"lo w"。

substring()方法会把第二个参数转换为 0,使调 用变成了 substring(3,0),而由于这个方法会将较小的数作为开始位置,将较大的数作为结束位置, 因此最终相当于调用了 substring(0,3)。

substr()也会将第二个参数转换为 0,这也就意味着返回 包含零个字符的字符串,也就是一个空字符串。

posted @ 2019-05-14 11:57  孤魂1715  阅读(129)  评论(0编辑  收藏  举报