美文网首页
String 笔记

String 笔记

作者: 不知道的是 | 来源:发表于2018-06-12 14:54 被阅读0次

    String.prototype.charAt()

    如果参数为负数,或大于等于字符串的长度,charAt返回空字符串。

    'abc'.charAt(-1) // ""
    'abc'.charAt(3) // ""
    

    String.prototype.indexOf()

    indexOf方法还可以接受第二个参数,表示从该位置开始向后匹配。

    'hello world'.indexOf('l', 2) // 2
    'hello world'.indexOf('l', 3) // 3
    'hello world'.indexOf('l', 4) // 9
    

    String.prototype.slice()

    'JavaScript'.slice(0, 4) // "Java"
    'JavaScript'.slice(4) // "Script"
    
    // 如果参数是负值,表示从结尾开始倒数计算的位置,即该负值加上字符串长度。
    'JavaScript'.slice(-6) // "Script"
    'JavaScript'.slice(0, -6) // "Java"
    'JavaScript'.slice(-2, -1) // "p" 不包含 -1
    
    // 如果第一个参数大于第二个参数,slice方法返回一个空字符串。
    'JavaScript'.slice(2, 1) // ""
    

    String.prototype.substr()

    substr方法的第一个参数是子字符串的开始位置(从0开始计算),第二个参数是子字符串的长度。

    'JavaScript'.substr(4, 6) // "Script"
    'JavaScript'.substr(4) // "Script"
    
    /**
     * 如果第一个参数是负数,表示倒数计算的字符位置。
     * 如果第二个参数是负数,将被自动转为0,因此会返回空字符串。
     */
    'JavaScript'.substr(-6) // "Script"
    'JavaScript'.substr(4, -1) // ""
    // 上面代码中,第二个例子的参数-1自动转为0,表示子字符串长度为0,所以返回空字符串。
    

    String.prototype.trim()

    该方法去除的不仅是空格,还包括制表符(\t、\v)、换行符(\n)和回车符(\r)。

    '\r\nabc \t'.trim() // 'abc'
    

    String.prototype.split()

    split方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组。

    'a|b|c'.split('|') // ["a", "b", "c"]
    'a|b|c'.split('') // ["a", "|", "b", "|", "c"]
    'a|b|c'.split() // ["a|b|c"]
    
    'a||c'.split('|') // ['a', '', 'c']
    '|b|c'.split('|') // ["", "b", "c"]
    'a|b|'.split('|') // ["a", "b", ""]
    
    // split方法还可以接受第二个参数,限定返回数组的最大成员数。
    'a|b|c'.split('|', 0) // []
    'a|b|c'.split('|', 1) // ["a"]
    'a|b|c'.split('|', 2) // ["a", "b"]
    'a|b|c'.split('|', 3) // ["a", "b", "c"]
    'a|b|c'.split('|', 4) // ["a", "b", "c"]
    

    参考资料:
    JavaScript 标准参考教程(alpha)String对象

    相关文章

      网友评论

          本文标题:String 笔记

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