String
let str1 = 'aaa'
let str2 = new String('bbb')
let String(true) = 'true'
typeof(str1)
typeof(str2)
str2.valueOf()
静态方法
String.fromCharCode()
- 方法的参数是一个或者多个数值,代表Unicode码点,返回值是这些码点组成的字符串。
String.fromCharCode()
String.fromCharCode(97)
String.fromCharCode(104, 101, 108, 111)
String.fromCharCode(0xD842, 0xDFB7)
实例属性
实例方法
charAt()
charAt返回指定位置的字符串,参数是从0开始编号的位置。
'abc'.charAt(1)
'abc'[1]
charCodeAt()
- 返回指定字符串的Unicode码点(十进制展示),相当于fromCharCode()逆向操作。
'abc'.charCodeAt(1)
'abc'.charCodeAt(-1)
'abc'.charCodeAt(NaN)
charCodeAt(i) charCodeAt(i + 1)
concat()
- 连接两个字符串,返回一个新字符串,不改变原字符串。
s1 = 'a'
s2 = 'b'
s1.concat(s2)
s1.concat('b', 'c') 'abc'
''.concat(1, 2, 'a')
与 + 运算符的区别是不会将类型一样的数值进行计算。
slice()
slice用于从原数组取出字符串并返回,不改变原字符。
slice(start, end)
javaString.slice(0, -6)
substring()
substring与slice功能一致,都是用于提取字符串片段,不改变原字符串。
'abc'.substring(1, 2)
'abc'.substring(2, 1)
'abc'.substring(-1)
'abc'.substring(0)
substr()
'abc'.substr(1, -2)
indexOf(), lastIndexOf()
- 功能一致,都是用于查找字符在字符串的位置,如果找到返回index,没有找到返回 -1。
两个参数,第一个代表需要查找的字符,第二个参数是设置开始查找的位置。
'abcc'.indexOf('b', 0)
trim()
' abc '.trim()
'\r\nabc \t'.trim()
toLowerCase(), toUpperCase()
match()
- 用于确定原字符串是否匹配莫格子字符串,返回数组,元素是找到的第一个字符串。如果没有找到,返回null。
'abc'.match('a')
'abc'.match('x')
arr = 'abc'.match('bc')
arr.index
arr.input
search(), replace()
search方法和match用法一样,返回值是匹配的第一个位置,没有找到返回 -1。
replace 用于替换匹配的字符,一般只能替换第一个匹配的。但是如果是带有g的正则表达式就可以全替换。
'aaa'.replace('a', 'b')
'aaa'.replace(/a/g, 'b')
split()
- 按照参数分割字符串,返回分割好的字符串组成的数组。
'abc'.split('')
'abc'.split('b')
'abc'.split()
'abbc'.split('b')
'abac'.split('a')
'acbc'.split('c')
'abc'.split('', 0)
'abc'.split(/b/)
localeCompare()
- 用来比较两个字符串。返回整数,小于
0表示第一个字符串小于第二个字符串,等于0表示两个字符串相等,大于0表示第一个字符串大于第二个字符串。
'abc'.localeCompare('def')
'B' > 'a'
'B'.localeCompare('a')
'ä'.localeCompare('z', 'de')
'ä'.localeCompare('z', 'sv')