作为javascript的两种进行字符串截取的方法,来看看两者有什么区别吧。
**
**
1.两者语法
**
先看下两者的语法
slice()语法:
substring()语法:
首先从两者语法介绍发现是一样的。再来看看正数索引截取方面。
2.正数截取
**
slice()和substring()方法在正数截取时没有任何不同。比如:
let str='hello china'
console.log(str.slice(3,6)); //lo
console.log(str.substring(3,6)); //lo
注意点:截取遵从左闭右开原则,下标从0开始。
3.负数截取(区别)
**
两者区别就在于负数截取,slice()负数截取时会识别负数索引,但是substring()会自动将负数索引全部改成0,比如:
let str='hello china'
console.log(str.slice(-3)); //ina
console.log(str.substring(-6,-3)); //没有输出,自动转化成substring(0,0)
console.log(str.substring(-3,6)); //hello,转化成substring(0,6)
console.log(str.substring(3,-6)); //hel 转化成substring(3,0),实际执行时为(0,3)
slice()和substring()作为两种常用方法,如果不考虑负数时,两者都可以,在使用到负数时要注意下substring()的局限性。