zoukankan      html  css  js  c++  java
  • 【转】slice,substr和substring的区别

    首先,他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度。直接看下面例子:

    1 var test = 'hello world';
    2
    3  alert(test.slice(4,7)); //o w
    4   alert(test.substring(4,7)); //o w
    5   alert(test.substr(4,7)); //o world

    这里有个需要注意的地方就是:substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。

    如:

    alert(test.substring(7,4));          //o w
    

      

    接着,当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。测试代码如下:

    复制代码
    1 var test = 'hello world';
    2
    3 alert(test.slice(-3)); //rld
    4 alert(test.substring(-3)); //hello world
    5 alert(test.substr(-3)); //rld

    6 alert(test.slice(3,-4)); //lo w
    7 alert(test.substring(3,-4)); //hel
    8 alert(test.substr(3,-4)); //空字符串
    复制代码
    1 注意:IE对substr接收负值的处理有错,它会返回原始字符串。

    最后,没了。

  • 相关阅读:
    P5049 旅行(数据加强版)(基环树)
    P5024 保卫王国(动态dp/整体dp/倍增dp)
    CF891C Envy(离线/在线+可撤销并查集/并查集/LCT)
    CF1217题解
    CF1215题解
    浅谈bitset
    CF1214题解
    CF1213F Unstable String Sort(差分)
    C++创建和使用动态链接库
    交叉编译openssl1.1.1a
  • 原文地址:https://www.cnblogs.com/xiajingzero/p/4747812.html
Copyright © 2011-2022 走看看