slice和substring区别

作为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()的局限性。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: substringslice都是用于截取字符串的方法,但是它们有一些不同之处。 1. 参数不同 substring方法接受两个参数,分别是起始位置和结束位置,如果只有一个参数,则从该位置开始截取到字符串末尾。 slice方法也接受两个参数,分别是起始位置和结束位置,如果只有一个参数,则从该位置开始截取到字符串末尾。但是slice方法还可以接受负数参数,表示从字符串末尾开始计算位置。 2. 处理负数参数的方式不同 当substring方法接受到负数参数时,会将其转换为。而slice方法会将负数参数加上字符串长度后再进行计算。 3. 返回值不同 substring方法返回从起始位置到结束位置之间的子字符串,不包括结束位置的字符。 slice方法返回从起始位置到结束位置之间的子字符串,包括起始位置的字符但不包括结束位置的字符。 综上所述,substringslice方法在参数和返回值上有一些不同,需要根据具体的需求选择使用哪种方法。 ### 回答2: substringslice都是JavaScript中用于截取字符串的方法,但它们有一些不同之处。 首先,substring的参数可以接受负数,而slice不行。当传入的参数为负数时,substring会将它们转换为0,而slice则会将它们转换为字符串长度加上相应的负数值。 其次,当传入的参数不同类型时,substring会将它们转换为数字,而slice则会像普通的JavaScript方法一样将它们转换为字符串,这意味着slice可以接受字符串作为参数。 另外,当传入的参数有相同的值时,slice会返回空字符串,而substring会返回完整的字符串。 最后,slice的第二个参数可以接受负数,这表示从字符串末尾开始截取,而substring则只能接受正数作为第二个参数。 综上所述,虽然substringslice都可以用于截取字符串,但它们参数的处理、返回值和能处理的范围存在一些不同之处。因此,在使用时需要根据具体的需求选择适合的方法。 ### 回答3: 在JavaScript中,substringslice都是字符串的方法,它们用于从一个字符串中获取子字符串。虽然它们的用法非常相似,但它们之间还是有一些细微的差别。 substring方法的常规语法是:substring(startIndex, endIndex),其中startIndex和endIndex表示子字符串的起始和结束位置。如果省略endIndex,则默认取到字符串末尾的位置。如果startIndex>endIndex,则在提取子串之前,这两个参数会自动互换。而且使用substring方法时,如果参数为负值,则会自动转化为0。 而slice方法的常规语法是:slice(startIndex, endIndex),与substring方法一样,startIndex和endIndex表示子字符串的起始和结束位置,省略endIndex则默认取到字符串末尾的位置。与substring不同的是,当.slice()方法的参数为负数时,它将从字符串的末尾开始计算索引,所以-slice(2),将返回第1个字符(索引“-3”)到字符串末尾之间的字符。如果startIndex大于endIndex,则返回空字符串。slice方法不自动交换索引位置。 在使用字符串方法的时候,需要注意一个重要的区别substring()不接受负数参数,而slice()方法允许您使用负数的参数。当您您从字符串出提取字符时,这是一个重要的区别。 因此,当使用这两种方法的时候,需要根据需要提取的子串的位置来选择合适的方法。如果需要从一个字符串开始截取一段子字符串,使用slice;如果需要确切地提取一部分字符串,请使用substring。在大多数情况下,使用这两种方法都可以提取所需的子字符串,最终选择哪个方法,主要取决于自己的个人习惯和需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不止三岁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值