天天看点

Js截取字符串之substring,slice,substr

一名前端臭弟弟的学习新得!     (´๑•_•๑)

JS截取字符串之     substring,slice,substr

substring和slice效果和写法一样

共同点:

1.第一个参数必填。

2.第二个参数不填,会从开始位置截取到最后。

3.第二个参数为目标字符结尾的位置+1 (划重点)

操作操作起来:::

var a='我就是最帅的'
console.log("substring输出结果",a.substring(0,2));
console.log("slice输出结果",a.slice(0,2));
           
Js截取字符串之substring,slice,substr

区别:

1.substring2个参数都必须是一个非负的整数。

2.slice参数可以是负数,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。slice相对灵活一点想截取字符串第一个到倒数第三之间的值 ,过程就是(0,(-3+1)) ===> (0,-2)

操作操作起来:::

var a='我就是最帅的'
console.log("substring输出结果:",a.substring(0,-2));
console.log("slice输出结果:",a.slice(0,-2));
           
Js截取字符串之substring,slice,substr
Js截取字符串之substring,slice,substr
Js截取字符串之substring,slice,substr

substr就独树一帜了,独树一帜(汉语成语,读音为dú shù yī zhì,比喻与众不同,自成一家。出自《随园诗话》),欢迎大家来到成语解析课

Js截取字符串之substring,slice,substr

substr也有2个参数 第二个参数非必填

第一个参数是截取字符串的开始位置

第二个参数是想要获取字符串的长度(划重点)

操作操作起来:::

var a='我就是最帅的'
console.log("第一个substr输出结果:",a.substr(0,2));
console.log("第二个substr输出结果:",a.substr(0,5));
           
Js截取字符串之substring,slice,substr

补充:如果(substring,slice,substr)截取长度大于字符串本身长度,也不会报错,会取到原字符串结束位置。

var d="0123"
var e1=d.substring(1,100)
var e2=d.slice(1,100)
var e3=d.substr(1,100)
console.log("这是substring超出长度",e1,e1.length)
console.log("这是slice超出长度",e2,e2.length)
console.log("这是substr超出长度",e3,e3.length)
           
Js截取字符串之substring,slice,substr

这时有个很邪恶的想法,我要是不走寻常路呢

非搞事人员请迅速撤离~~~~~~

截取字符串时 ,我要是把参数反着写会怎么样呢????

Js截取字符串之substring,slice,substr
var a='我就是最帅的'
console.log("substring输出结果:",a.substring(0,4));
console.log("substring输出结果:",a.substring(4,0));
           
Js截取字符串之substring,slice,substr

答案:没差

var a='我就是最帅的'
console.log("slice输出结果:",a.slice(0,4));
console.log("slice输出结果:",a.slice(4,0));
console.log("slice输出结果:",a.slice(2,-1));
console.log("slice输出结果:",a.slice(-1,2));
console.log("slice输出结果:",a.slice(-3,-1));
console.log("slice输出结果:",a.slice(-1,-3));
           
Js截取字符串之substring,slice,substr

答案:并不允许你胡作非为

总结一点:substring可以帮你自动转换好截取顺序(从左到右),slice就懒得给你转换!