slice()
1.当slice(a),只有一个参数时,表示:a为起始坐标,截取到最后
var str ="hello , world!";
console.log(str.slice(8));
结果:world!
2.当slice(a,b),有两个参数时,a-起始位置,b-结束的下一个位置
var str = "hello , world!";
console.log(str.slice(2,5));
结果:llo
3.当slice(a,b),当参数<0时,参数 = 参数+str的长度,更改为正数,如果a>b,则返回空
var str = "hello , world!";
console.log(str.slice(-1,5));
结果:“空”
str的lenth = 14,所以a = -1 + 14 = 13,所以为str.slice(13,5),因为13>5,所以返回‘空’
var str = "hello , world!";
console.log(str.slice(-13,5));
结果:ello
str的length = 14,所以a = -13+14 = 1,所以str.slice(1,5),返回ello
substring(a,b)
1.当substring(a)只有一个参数;substring(a,b)有两个参数 且 参数>0,a<b时,用法与slice一样
2.当substring(a,b),以参数小的-起始位置,参数大的-结束的下一个位置
var str = "hello , world!";
console.log(str.substring(9,4));
结果:o , w
这里a>b,9-结束的下一个位置,4-起始位置
3.当substring(a,b),当参数<0时,参数 = 0
var str = "hello , world!";
console.log(str.substring(-1,5));
结果:hello
因为-1<0,所以a = 0,所以str.substring(0,5)
substr(a,b)
1. substr(a,b),a-起始位置,b-截取的长度,当a<0时,a表示从字符串末尾开始;当a>b时,返回‘空’
var str = "hello , world!";
console.log(str.substr(-2,1));
结果:d
-2表示从str的倒数第二个字符串开始,截取一个字符串,所以结果为d
具体问题:
var str = " '\nid 1 name face \r\n' " (1为编号不确定位数,face为名称不确定位数)
1. 问:怎么把id 1 name face从str中截取出来 ?
结果:id 1 name face
2. 问:怎么把id 1 name face转化为对象 ?
结果: