一.基本包装类型:
var str = 'andy';
console.log(str.length); //结果为4
//其执行的过程:
//1.生成临时变量,把简单的数据类型变成复杂的数据类型
var temp = new String('andy');
//2.赋值给我们声明的字符变量
str = temp;
//3.销毁临时变量
temp = null;
把简单的数据类型包装成复杂的数据类型,这样基本数据类型就有了属性和方法(对象)。
二.字符串的不可变性。
var str = 'abc'; str = 'hello'; //当重新给str赋值时,常量'abc'不会被修改,依然在内存中 //重新给数组串赋值,会重新在内存中开辟空间,这个是字符串的不变性 //如果大量赋值会占大量内存出现卡顿 var str = ''; for(i=0;i<=100;i++){ str +=i; } console.log(str); //这个结果会花大量的时间来显示,因为需要不断地开辟新的空间
三.根据字符返回位置
indexOf('要查找的字符‘’,开始的位置) 返回指定内容在字符串中的位置,如果找不到就返回-1,开始的位置是index索引号。
lastindexOf() 从后往前找,只找第一个匹配的。
//案例 var str = "abcoefoxyozzopp"; var index = str.indexOf('o'); var num = 0; while (index !==-1) { console.log(index); num++; index = str.indexOf('o',index + 1); } console.log('o出现的次数:' + num);
四.根据位置返回字符
1.charAt(index) 返回指定位置的字符(index 字符串的索引号) 【 str.charAt(0) 】
2.charCodeAt(index) 获取指定位置字符的ASCll码(index索引号)【 str.charCodeAt(0)】
3.str[index] 获取指定位置的字符 (html5,IE8+支持和charAt()等效)
五.字符串操作方法(重点)
1.concat(str1,str2,str3....) concat 方法用于连接两个或多个字符串,拼接字符串,等效于+,+更常用。
2.substr(start,length) 从start位置开始,length取的个数(重点)
3.slice(star,end) 从start位置开始,截取到end位置,end截取不到(他们两个都是索引号)
4.substring(start,end) 从start位置开始,截取到end位置,end截取不到 基本和slice相同 但是不接受负值。
六。其他方法
1.替换字符 replace (‘被替代的字符’,‘替换为的字符’)
2.字符转换为数组split(‘分隔符’)
3.toUpperCase() //转换大写
4.toLowerCase() //转换为小写