STRING对象
什么是String对象
String 对象用于存储和处理文本(字符串)
创建String对象
var str = new String('hello')
访问String对象的length属性
str.length
类型检查
var a = 'hello'
var b = new String('hello')
typeof a //string
typeof b //object
在JS中,字符串类型也可以使用String对象的方法和属性,JS内部会自动转换完成
String对象访问
在早期的JavaScript设计中,字符串被设计为一种只读的字符数组,因此,字符串可以用数组的访问方式访问其中的字符
- 下标访问
var a = 'hello'
a[1] //'e'
- 标准访问方式charAt()
var a = 'hello'
a.charAt(1) //'e'
字符串的不可变性
在 JavaScript 中,字符串的值是不可变的,这意味着一旦字符串被创建就不能被改变。
无法改变,但可以重新赋值
String对象的修改
原始数据类型的字符串无法修改,但可以使用String对象的replace()方法进行修改
replace()
str.replace(要替换的字符串,替换后的字符串)
replace无法修改原字符串,只是返回一个新字符串
var a = '123456'
var b = a.replace('1','0') //a的值为'123456',b的值为'023456'
替换的值可以为空
var a = '123456'
var b = a.replace('1','') //a的值为'123456',b的值为'23456'
可以对多个字符进行操作
var a = '123456'
var b = a.replace('123','456') //a的值为'123456',b的值为'456456'
String对象的分割
split() 传入一个分隔符作为参数,以该分隔符为标准,将字符串进行分割并存入一个新数组并返回
注意分隔符位置
分隔符可以为空
第二个参数可选,代表分割后数组的最大长度
分隔符可以为空格
String对象常用方法
indexOf() 返回要查找的字符第一次出现的位置下标,若未找到返回-1
toLowerCase()把字符串转为小写,不会修改原字符串
toUpperCase()把字符串转为大写,不会修改原字符串
String对象的截取
trim() 移除空白符(空格、制表符、换行符等),只对头尾操作,不会修改原字符串
slice() 截取字符串,与数组的slice方法相同
substring() 该方法与slice类似,但参数不能使用负数,若参数为负数会被当做0看待
substring()的参数位置没有严格要求
substr() 第二个参数为要截取的数量
String对象的合并
concat()将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。 concat 方法并不影响原字符串。