String对象

创建String对象方式

声明:String对象的方法也可以在所有基本字符串值中访问到

调用构造函数String()

 var str = new String();
 var str = new String('hello world');//初始化str,str.length = 11;

String访问及查找的方式

访问(通过索引)

1.charAt()或[]
1个参数,参数为字符位置,返回字符

var strValue = new String('hello world');
console.log(strValue.charAt(1));//e
console.log(strValue[1]);//e,IE7及以下版本使用这种方式,会返回undefined

2.charCodeAt()
1个参数,参数为字符位置,返回字符编码

var strValue = new String('hello world');
console.log(strValue.charCodeAt(1));//101

查找位置

1.indexOf()
第一个参数为指定子字符串第二个参数为检索位置返回索引,如果没有找到则返回-1

var str = 'hello world'
str.indexOf('l');//2,返回找到的第一个字符的位置
str.indexOf('l',6);//9

2.lastIndexOf()
与indexOf()的区别在于,lastIndexOf()是从字符串的末尾向前搜索子字符串

字符方法

1.扩展字符串

concat()
接受任意数量参数,用于将一个或多个字符串拼接起来,返回拼接得到新的字符串副本

var str = new String('hello');
var result = str.concat(' world');
console.log(result);//hello world
typeof result//"string"

2.获取子字符串方法

slice(),substr(),substring(),这三个方法都会返回被操作字符串的子字符串副本,而且也都接受12个参数,前闭后开[)
slice()

var str = 'hello';
str.slice(0,2);//"he",第一个参数指定字符串开始的位置,第二个参数表示字符串到哪里结束
str.slice(-3);//"llo",o代表-1,依次倒数,-3代表倒数第三个的l
str.slice(-2,-1);//"l",同理,-2代表倒数第二个l,-1代表倒数第一的o

substring()

var str = 'hello';
str.substring(0,2);//"he",此时的参数意义同str.slice(0,2)
str.substring(-3);//"hello",substring()方法会把所有负值参数转换为0
str.substring(-3,-2);//"",同上

substr()

var str = 'hello';
str.substr(1,2);//"el",第一个参数指定字符串的开始位置,第二个参数指定的则是返回的字符个数
str.substr(-3);//"llo",此时的参数意义同str.slice(-3)
str.substr(-3,-1);//"",substr()方法会将负的第二个参数转换为0

substr()方法传递负值时在IE中存在问题,它会返回原始的字符串,IE9修复了这个问题

3.将字符串转换为数组

split()
基于指定的分隔符(可以是字符串,也可以是RegExp对象)将字符串分割成多个子字符串,并将结果放在一个数组中,可接受可选的第二个参数,用于指定数组的大小返回数组

var color = 'blue,red,orange';
color.split();//["red,blue,orange"],长度为1
color.split(',');//["blue", "red", "orange"],长度为3
var color = 'blue-red-orange';
color.split('-');//["blue", "red", "orange"],长度为3
color.split(',',2);//["blue", "red"]

4.字符串大小写转换

toLowerCase(),toUpperCase()

var str = 'hello';
str.toUpperCase();//"HELLO"
str.toLowerCase();//"hello"

5.删除字符串空格方法

trim()
删除字符串中前置以及后缀的所有空格,然后返回结果副本

var str = ' hello world  ';
str.trim()//"hello world"

阿花和猫
2.3k 声望138 粉丝