js-subString与slice差异

      从subString与slice的语法定义来看,两者的用途相似。但是深入学习后,发现他们之间存在许多不同。

     两者定义如下:

subStringslice
作用:截取指定位置之间的字符串作用:提取字符串中的一部分,并返回这个新的字符串
语法:string string.substring(indexStart [, indexEnd])语法:string string.slice(beginSlice[, endSlice])
参数:indexStart截取的起始位置/indexEnd截取的结束位置,默认为最后一个字符的位置参数:beginSlice 起始位置/endSlice结束位置,默认为最后一个字符的位置
返回值:返回截取后的字符串,不包括结束的位置返回值:返回截取后的字符串,不包括结束的位置

它们的不同之处来自于对不同参数的处理:

subStringslice
参数为非负数,如果参数为负数,会自动将负数转换成0参数可为负数;负数代表从字符串的最后一位往前获取
当起始位置参数大于结束位置参数,subString会做判断,将两个参数进行互换当起始位置参数大于结束位置参数,获取结果为空
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: substring和slice都是用于截取字符串的方法,但是它们有一些不同之处。 1. 参数不同 substring方法接受两个参数,分别是起始位置和结束位置,如果只有一个参数,则从该位置开始截取到字符串末尾。 slice方法也接受两个参数,分别是起始位置和结束位置,如果只有一个参数,则从该位置开始截取到字符串末尾。但是slice方法还可以接受负数参数,表示从字符串末尾开始计算位置。 2. 处理负数参数的方式不同 当substring方法接受到负数参数时,会将其转换为。而slice方法会将负数参数加上字符串长度后再进行计算。 3. 返回值不同 substring方法返回从起始位置到结束位置之间的子字符串,不包括结束位置的字符。 slice方法返回从起始位置到结束位置之间的子字符串,包括起始位置的字符但不包括结束位置的字符。 综上所述,substring和slice方法在参数和返回值上有一些不同,需要根据具体的需求选择使用哪种方法。 ### 回答2: substring和slice都是JavaScript中用于截取字符串的方法,但它们有一些不同之处。 首先,substring的参数可以接受负数,而slice不行。当传入的参数为负数时,substring会将它们转换为0,而slice则会将它们转换为字符串长度加上相应的负数值。 其次,当传入的参数不同类型时,substring会将它们转换为数字,而slice则会像普通的JavaScript方法一样将它们转换为字符串,这意味着slice可以接受字符串作为参数。 另外,当传入的参数有相同的值时,slice会返回空字符串,而substring会返回完整的字符串。 最后,slice的第二个参数可以接受负数,这表示从字符串末尾开始截取,而substring则只能接受正数作为第二个参数。 综上所述,虽然substring和slice都可以用于截取字符串,但它们参数的处理、返回值和能处理的范围存在一些不同之处。因此,在使用时需要根据具体的需求选择适合的方法。 ### 回答3: 在JavaScript中,substring和slice都是字符串的方法,它们用于从一个字符串中获取子字符串。虽然它们的用法非常相似,但它们之间还是有一些细微的差别。 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值