美文网首页
快速区分slice()、substring()、substr()

快速区分slice()、substring()、substr()

作者: 彩虹_af2e | 来源:发表于2021-05-06 14:04 被阅读0次

    三者的关系

    求同

    slice(), substring(), substr();这三个方法都是返回被操作字符串的一个子字符串,
    就是返回一个新的字符串。
    1、都是接受一个参数或者两个参数
    2、第一个参数是指定字符串的开始位置
    3、第二次参数(在指定的情况下)表示字符串到哪里结束
    4、如果没有第二个参数,则将字符串结束的未位作为结束位置
    

    存异

    第二个参数的区别,负数值的区别
    slice()和substring()第二次参数指定的是字符串最后一个字符后面的位置;
    substr()第二个参数指定返回的字符串个数;
    

    情景模式-参数为正数

       var string = 'hello world';
       console.log(string.slice(3));  //lo world
       console.log(string.substring(3));  //lo world
       console.log(string.substr(3));  //lo world
       console.log(string.slice(3, 7));  //lo w
       console.log(string.substring(3, 7)); //lo w
       console.log(string.substr(3, 7)); //lo worl
    

    情景模式-参数为负数

    slice() 会将所有的负数于字符串的长度相加
    substr() 会将第一个负参数与字符串长度相加,第二个负参数转化为 0
    substring() 将所有的负参数转化为 0
    
       var string = 'hello world';  // length = 11
        console.log(string.slice(-3));  // rld    slice(8)
        console.log(string.substring(-3));  //hello world  substring(0)
        console.log(string.substr(-3));  // rld  substr(8)
        console.log(string.slice(3, -4));  //lo w slice(3, 7)
        console.log(string.substring(3, -4)); //hel   substring(3, 0)
        console.log(string.substr(3, -4)); //  ''   substring(3, 0)
    

    扩展

    1. splice(begin, deletCount, item1,item2...)
      改变原来的数组,返回数组修改的内容
    2. splce 只能操作数组,slice数组和字符串,subStr, subString 只能存在字符串,
    3. splce 会修改原来的数组,而slice,subStr和subString则不会

    相关文章

      网友评论

          本文标题:快速区分slice()、substring()、substr()

          本文链接:https://www.haomeiwen.com/subject/blcddltx.html