标签:script javascrip 第一个 空字符串 相同 相加 ring asc rip
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,这也就意味着返回 包含零个字符的字符串,也就是一个空字符串。
标签:script javascrip 第一个 空字符串 相同 相加 ring asc rip
原文地址:https://www.cnblogs.com/gudun/p/10861478.html