6.1 基本包装类型
为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String,Number,和boolean。
6.2 字符串不可变
指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。
var str = 'abc';
str = 'hello';
重新给str赋值的时候,常量abc不会被覆盖,依然能存在内存中
重送字符串赋值,会重新在内存中开辟空间,这个特点就是字符串不可变
由于字符串的不可变,在大量拼接字符串的时候会有效率问题
var str = '';
for(var i = 0; i < 100000; i++){
str += i;
}
console.log(str);
这个会无限占你内存,严重可能会卡死。
6.3 根据字符返回位置
字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。
方法名:IindexOf('要查找的字符','开始的位置')
说明:返回指定内容在元字符串中的位置,如果找不到就返回-1,开始的位置是index索引号
方法名:lastindexOf()
说明:从后往前找,只招第一个匹配的
例如:
var str ='改革春风吹满地,春天来了';
console.log(str.indexOf('春'));
console.log(str.indexOf('春',3));
输出: 2
8
6.4 根据位置返回字符(!重点OMO!)
1.方法名:charAt(index)
说明:返回指定位置处的字符(index字符串的索引号)
使用方法: str.charAt(0);
2.方法名:charCodeAt(index)
说明:获取指定位置处字符的ASCII码(index)索引号
使用方法:str.charCodeAt(0);
3.方法名:str[index];
说明:获取指定位置处字符
使用:HTML5,IE8+等
例如:
遍历所有的字符
var str ='andy';
for(var i = 0; i < str.length; i++){
console.log(str.charAt(i));
}
石粒1:遍历以下的字符串找出来其中的最大值
var str = 'abcoefoxyozzopp';
var o = {};
var max = 0;
for (var i = 0; i<str.length; i++){
var chars = str.charAt(i);
if(o[chars]){
o[chars]++;
}else{
o[chars] = 1;
}
}
for (var k in o){
if(o[k]>max){
max = o[k];
}
}
console.log(o);
console.log(max);
6.5字符串操作方法(重点)
1.方法名:concat(str1,str2,str3...)
说明:concat()方法用于连接两个或多个字符串。拼接字符串,等效于+,+更常用
2.方法名:substr(start,length)
说明:从start位置开始(索引号),length取的个数 重点记住这个
3.方法名:slice(start,end)
说明:从start位置开始,截取end位置,end取不到(他们俩都是索引号)