var str = '0123456789'
// slice(begin, end+1)两个参数都接收负值, 传负值的情况下,会取length - n
console.log('slice:');
console.log(str.slice(1, 6));
// 12345
console.log(str.slice(5));
// 56789
console.log(str.slice(-4,-1));
// 678
console.log(str.slice(-2));
// 89
// substring 如果任一参数小于 0 或为 NaN,则被当作 0。如果任一参数大于 stringName.length,则被当作 stringName.length。如果 indexStart 大于 indexEnd,则 substring 的执行效果就像两个参数调换了一样
console.log('substring:');
console.log(str.substring(1, 6));
// 12345
console.log(str.substring(6, 1));
// 12345
console.log(str.substring(5));
// 56789
console.log(str.substring(-2));
// 0123456789
// substr(start, length) 如果 start 为负值,则 substr 把它作为从字符串末尾开始的一个字符索引。如果 start 为负值且 abs(start) 大于字符串的长度,则 substr 使用 0 作为开始提取的索引。
console.log('substr:');
console.log(str.substr(1, 6));
// 123456
console.log(str.substr(6, 1));
// 6
console.log(str.substr(4));
// 456789
console.log(str.substr(-2));
// 89
console.log(str.substr(0, -3));
// ""
网友评论