第一种
:
slice - 截取的时候,开始下标和结束下标可以使用负数表示
语法:字符串.slice(开始下标, 结束下标)
注意:
-
返回被截取出来的字符串,不包含结束下标对应的字符
-
如果第二个参数省略了,就默认截取到字符串末尾
-
如果开始下标和结束下标相等 - 截取到空字符串
-
截取字符串一定是从左向右进行截取的,如果开始下标大于结束下标就截取不到内容了
-1下标就表示最后一个下标
-2下标就表示倒数第二个下标
var str = ‘abcdefg’
var str1 = str.slice(-2, -1)
console.log(str1); // f
第二种:
-
语法:字符串.substr(开始下标, 截取长度) - 返回截取出来的字符串
-
可以使用负数表示开始下标
var str = ‘asdjfhaksjfdhas’
var str1 = str.substr(3,4 )
console.log(str1);//jfha
如果第二个参数省略了,就默认截取到字符串末尾
console.log( str.substr(3) ); //jfhaksjfdhas
第三种
-
语法:字符串.substring(开始下标,结束下标) - 返回被截取的字符串,不包含结束下标对应的字符
-
不可以使用负数表示下标 - 负数下标会转成0
var str = ‘abcdefg’
// var str1 = str.substring(-2, -1)//这里-2和-1都转为0
// console.log(str1); // 空字符串
当开始下标在结束下标左边时,先交换两个参数的位置,然后再进行截取
var str = ‘abcdefg’
// var str1 = str.substring(5, 2)
// console.log(str1); // cde
// 当我们使用负数表示下标时,会将负数转成0,然后再截取
// var str1 = str.substring(2, -2)//原来的
// var str1 = str.substring(2, 0)//将负数转为0
// var str1 = str.substring(0, 2)//调换位置
// console.log(str1);
var str = ‘asdjfhaksjfdhas’
var str1 = str.substring(3, 7)
// console.log(str1); //jfha
// 如果第二个参数省略了,就默认截取到字符串末尾
// console.log( str.substring(3) );//jfhaksjfdhas