概念: 多个字符组成的【只读】字符【数组】
- 字符串也可以叫数组
- 和数组有共同点:
- 支持下标 - 获取某个字符
- 支持length - 字符的长度
- 遍历
- 数组不修改原数组的API,字符串也可以使用(concat、slice)
- 不同点:数组修改原数组的API,字符串都不可以使用,但是字符串也有很多属于自己的API
- 和数组有共同点:
- 只读:字符串中的所有的API都不会修改原字符串,只会返回新字符串
- 包装类型:将原始类型的值变为一个引用类型的对象
API
\ 转义
- 字符串中如果出现了和字符串冲突的符号,可用\将其转义为原文"
- 特殊功能
- 换行:\n
- 制表符:\t
- 可以书写unicode号 表示一个字\uXXXX
- 汉字的第一个字4e00 汉字的最后一个字9fa5
转换大小写
【统一的】转为大写或小写,再比较,忽略大小写:- 验证码
- 大写:
var newStr=str.toUpperCase(); - 小写:
var newStr=str.toLowerCase();
ascii码
- 获取字符串中指定位置的字符的ascii码
var ascii=str.charCodeAt(i); - 通过ascii码转回原文
var 原文=String.fromCharCode(ascii);
检索字符串
var i=str/arr.indexOf("关键字",starti);
检查索引/下标:从starti位置开始找右侧的第一个关键字的下标
- starti可以省略,若省略则从0开始
- 返回值:找到则返回第一个字符的下标;没找到则返回-1
- 数组也可以使用该方法
- 找到所有关键字的位置
拼接字符串
var newStr=str.concat(str1,str2...)
截取字符串(3种)
var subStr=str/arr.slice(starti,endi+1);
var subStr=str.substring(starti,endi+1);不支持负数参数
*var subStr=str.substr(starti,n);截取的个数,不必考虑含头不含尾
替换字符串-配合正则使用
var newStr=str.replace("关键字"/正则表达式,"新内容");
切割/分割字符串
var arr=str.split("自定义切割符");
- 作用:str <=> arr
- 切割符可以自定义,切割过后返回一个数组,数组中不再包含切割符
- 如果传入的切割符是一个"",每一个字符都会被切开