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"]
网友评论