在js中所有用单引号或者双引号包起来的字符叫做字符串,每个字符串是由零到多个字符组成的
个字符都有自己应用的索引,也有类似数组一样的length代表的长度
var str='abcdefg';
str.length; //字符串的长度
str[0];//a
str[str.length-1];//g
str[100];//undefined
常用的方法:
字符串是基本数据类型,每一次操作都是值直接操作,不像数组一样是基于空间操作的,所以不存在原有字符串是否改变的一说,肯定是不变
charAt / charCodeAt / String.fromCharCode
作用:charAt 根据索引获取指定位置的字符 ;
charCodeAt不仅仅获取字符,获取的是字符对用的Unicode编码值(ASC II码值)[10进制]
String.fromCharCode返回的是编码对应的字符
参数:索引
返回值:字符或者对应的编码
var str='abcdef';
str.charAt(0);//a
str.charCodeAt(0);// 97
String.fromCharCode(97);//'a'
indexOf / lastIndexOf
基于这两个方法,可以获取字符在字符串中第一次 / 最后一次出现的位置索引,找到返回位置索引,找不到返回-1,可以基于这两个方法,验证当前字符串中是否包含某个字符串
var str='41234';
if(str.indexOf('@')>-1){
//条件成立说明包含@
}
slice:查找
str.slice(n,m); 从索引n查找索引m处,不包含m,把找到的字符当做新字符返回
str.slice(n); 从索引n处找到末尾
str.slice(); 浅克隆字符串
str.slice(-3,-1); 从倒数3个开始查找到倒数第1个
substring :查找,与slice一样,区别是substring不支持负数
substr:截取字符串
str.substr(n,m):从索引n开始截取m个字符
str.substr(n):从索引n开始截取到末尾
str.substr(-2,3):从倒数-2的索引截取3个
toUpperCase / toLowerCase
实现字母大小写转换
toUpperCase:小写转大写
toLowerCase:大写转小写
split:和数组中的join相对应,join是把字符串按照指定的分隔符变为字符串,split是把字符串按照指定分隔符,拆分成数组中的每一项
var str='1+4+7+8';
str.split('+'); //['1','4','7','8']
replace:
作用:替换字符串中的原有字符
参数:原有字符,要替换的新字符
返回值:替换后的字符串
//一般配合正则使用
var str = 'zhangxiaorui2020zz2020';
str = str.replace('2020','hei'); //'zhangxiaoruiheizz2020 不配合正则只能替换一个符合条件的字符
str=str.replace(/2020/g,'hei'); //zhangxiaoruiheizzhei