一、定义字符串
字面量法=====var str = "abcd";
构造函数法==== var str = new String("abcd");
两者的区别:
- 字面量法定义的变量,经过typeof 检测,是一个string类型
- 构造函数法定义的变量,经过typeof 检测,是一个object类型
- 总结:只要看new .... typeof的结果都是object
二、字符串的API
以下方法都不会改变原字符串
1. concat(); +
- 含义:拼接
- 语法:str.concat(str1);
- 返回值:拼接好的字符串
var str1 = 'a-b-c';
var str2= 'def';
console.log(str1.concat(str2));
2. charAt()
- 语法:str.charAt(下标/索引)
- 含义:根据下标找到元素
- 返回值:下标对应的字符
console.log(str1.charAt(1));
3. toUpperCase() / toLowerCase()
- 语法:str.toUppercase() str.toLowerCase()
- 作用:转大写/转小写
- 返回值:大(小)写形式的字符串
4. split('符号')---------------------------数组转字符串 (join(''))
- 语法:str.split('符号');字符串中需要有这个符号
- 作用:将字符串转为数组
- 返回值:数组形式
var str1 = 'a-b-c';
console.log(str1.split('-'));//['a','b','c']------------原有的中间连接符号消失
console.log(str1.split(''));//['a','-','b','-','c']--------将字符串的每一个元素(包括-)都分开了
5.字符串截取:
- str.substring(开始下标,结束下标);包左不包右
- str.slice(开始下标,结束下标);包左不包右
- str.substr(开始下标,n);开始下标位置截取n个
6.indexOf()
- 用法:str.indexOf('a')
- 含义:根据元素查找下标,找到了返回下标,找不到返回-1
- 注意:查找的首次出现的下标
7.charCodeAt()
- 语法:str.charCodeAt(下标);
- 含义:查找下标对应的字符的ACSII的码值
ASCII表
- 计算机只认识0和1
- 计算机存储数据是以二进制形式存储的
- 编码:以二进制的形式将符号,数字,字母等存储到电脑里
var str = 'Abchelloworldhah';
console.log(str.charCodeAt(0));// 'a'对应ASCII的码值 97