1.什么是字符串
有一组单引号或者双引号组成字符,就是字符串
2.字符串的创建
2.1字符串的字面量表达式
2.2 字符串的
2.3
3.装箱和拆箱
值类型到引用类型(装箱)
var str="abc";
var str2= new String(str);
console.log(str2)
引用类型到值类型(拆箱)
var str=new String(大家好);
console.log(str.toString());
4.字符串的特性
恒定性:
注意: ECMAScript 中的字符串是不可变的; 也就是说,字符串一旦创建,它们的值就不能改变.
例如: var str = “亲,包邮哦”;
str[0] = “唉”; //不会改变
5.字符串的length属性
length: 表示字符串的长度
例如 : var str = “how are you”;
console.log(str.length);
console.log(str[0]); //获取字符串中对应下标的字符
6.字符串的方法(函数)
1. charAt(index) 等价于[],通过下标取字符
var str = "abc123";
var s = str.charAt(2);//charAt()等价于中括号
console.log(s);
2. charCodeAt();
// A-Z 65-90;
// a-z 97-122
// 0-9 48-57
var str = "abc123";
console.log(str.charCodeAt(2));// b的ASCII码为100
console.log(str.charCodeAt(4));// 2的ASCII码为50
var str = "李小伟"
var arr = [];
for (var i = 0; i < str.length; i++) {
var code = str.charCodeAt(i);
arr.push(str.charCodeAt(i));
}
console.log(arr);
3.String.fromCharCode() 把ASCII转换成字符串
// 静态方法 工具方法
// String.fromCharCode()
// Math.random()
var str = String.fromCharCode(65, 66, 67);
console.log(str); //ABC
4.截取
//substring
// 第一个参数:开始位置
// 第二个参数:结束位置(多数一位)
// substring会自动调整参数的顺序,始终从小到大
var str="abc123";
var a=str.substring(2,4);//(开始位置)
console.log(a);
//substr
// 第一个参数,表示开始位置
// 第二个参数表示个数
var str="abc123";
var a=str.substr(2,4);//(开始位置,截取的长度,葛叔)
console.log(a);
//slice
var str="abc123";
var a=str.substring(4,2);//(开始位置)
console.log(a);
5.切割 split 返回数组 支持正则
var str="今天天气还不错"//转换数组
var arr=str.split("");
console.log(arr);
6.替换 replace() 支持正则
var str="你好";
var str1=str.replace("你","它");
console.log(str1);
7.查找
//search 支持正则
//match 找到了返回数组,找不到返回null 支持正则
//indexOf 找到了返回index,找不到返回-1 不支持正则
var str="刘德华";
console.log(str.indexOf("哈"));
//lastIndexOf
8.concat 合并
var str="abc";
var str2="123";
var str3=str2+str1;
var str3=str1.concat(str2,str3);
console.log(str3);
9.转大写
//toUpperCase 转大写
var str="abc";
console.log(str.toUpperCase());//ABC
10.转小写
toLowerCase 转小写
var str="ABC";
console.log(str.toLowerCase());//abc
11.去掉前后空白,不会去掉中间的 trim
var str=" abc 123 ";
console.log(str.trim());//abc 123
for in可以遍历属性值不为数字的数组
for循环和forEach不可以