2016/05/29
字符串操作slice
、substring
、substr
方法可以接受两个参数,返回基于参数计算的子字符串。
一个参数(a)
全部返回从下标a
开始(包含下标a
),一直到字符串结束的子字符串
var myString = 'fang chao';
console.log(myString.slice(3)); // =>g chao
console.log(myString.substring(3)); // =>g chao
console.log(myString.substr(3)); // =>g chao
两个参数(a,b)
slice和substring
返回从下标a
开始,到下标b
之前的子字符串
注意
之前
var myString = 'fang chao';
console.log(myString.slice(2,6)); // =>ng c
console.log(myString.substring(2,6)); // =>ng c
针对 substring,如果第一个参数小于第二个参数,那么更换参数位置
substr
返回从下标a
开始,总长度为b
的子字符串
var myString = 'fang chao';
console.log(myString.substr(2,6)); // =>ng cha
负数(a
、b
都为负数的情况下)
slice
将参数加上字符串长度
var myString = 'fang'; // length = 4
// slice(-2)
// |=> slice(-2+4)
// |=> slice(2)
substring
将参数转换为0
var myString = 'fang'; // length = 4
// substring(-2)
// |=> substring(0)
substr
将第一个参数加上字符串长度,将第二个参数转换为0
var myString = 'fang'; // length = 4
// substr(-1,-2)
// |=> substr(-1+4,0)
// |=> substr(3,0)
疑问
问:如果负数第一次加上字符串长度还是个负数该如何转换?
答:转换为 0
网友评论