所有用单引号、双引号、反引号包起来的都是字符串
let str = 'adgjloutew'
// 每一个字符串都是由零到多个字符组成
str.length //=>字符串长度
str[0] //=>获取索引为零(第一个)字符
str[str.length - 1]//=>获取最后一个字符str.length - 1最后一项索引
str[10000] //=>undefined 不存在
// 循环输出字符串中的每一个字符串
for(let i = 0;i < str.length;i++){
let char = str[i];
console.log(char);
}
charAt / charcodeAt
/*
* charAt: 根据索引获取指定位置的字符
* charcodeAt:获取指定字符的ASCII码值(Unicode编码值)
* @paramas:
* n [number] 获取字符指定的索引
* @return:
* 返回查找到的字符
* 找不到返回空字符而不是undefined,或者对应编码值
*/
let str = 'zweftghujiko';
console.log(str.charAt(0));//=> 'z'
console.log(str[0]);//=> undefined
console.log(str.charAt(1000));//=> ''
console.log(str[999]);//=> undefined
console.log(str.charCodeAt(0));//=> 122
console.log(string.fromCharCode(122));//=> 'x'
substr/substring/slice
/*
* 都是为了实现字符串的截取(在原来字符串中查找到自己想要的)
* substr(n,m):从索引n开始截取m个字符,m不写截取到末尾(后面方法也是)
* substring(n,m):从索引n开始找到索引为m处(不含m)
* slice(n,m):和substring一样,都是找到索引为m处,但是slice可以支持负数作为索引,其余两个方法是不可以的
*/
console.log(str.substr(3,7));//=>'fengrty'
console.log(str.substring(3,7));//=>'feng'
console.log(str.slice(3,7));//=>'feng'
console.log(str.substring(-7,-3));//=>'' substring不支持负数索引
console.log(str.slice(-7,-3));//=>'ngrt' slice支持负数索引 =>快捷
//查找:负数索引,我们可以按照str.length+负索引 的方式找 =>slice(26-7,26-3) =>slice(19,23)
indexOf/lastIndexof/includes
/*
* 验证字符是否存在
* indexOf(x,y):获取x第一次出现位置的索引,y是控制查找的起始位置索引
* lastIndexOf(x):最后依次出现位置的索引
* => 没有这个字符,返回的结果是-1
*/
let str = 'zxcvbnmlkjhgfnm';
console.log(str.indexOf('n'));//=>5
console.log(str.lastIndexOf('n'));//=>13
console.log(str.indexOf('@'));//=>-1 不存在返回-1
if(str.indexOf('@') === -1){
//字符串中不包含@这个字符
}
console.log(str.indexOf('bnm'));//=>4 验证整体第一次出现的位置,返回
//的索引是第一个字符所在位置的索引值
console.log(str.indexOf('mlj'));//-1 整体不存在
console.log(str.indexOf('n',7));//=>13 查找字符串索引7及之后的字符串中
//,n第一次出现的位置索引
if(!str.includes('@')){
console.log('当前字符串不包含@');
}
toUpperCase/toLowerCase
/*
* 字符串中字母的大小写转换
* toUpperCase:转大写
* toLowerCase:转小写
*/
let str = 'zxcvbnmlkjhgfnm';
str.toUpperCase();
console.log(str);//=>'ZXCVBNMLKJHGFNM'
str = str.toLowerCase();
console.log(str);//'zxcvbnmlkjhgfnm'
// 第一个字母大写,其余小写(首字母大写)
str = str.substr(0,1).toUpperCase()+str.substr(1);
split
/*
* split([分隔符]):把字符串按照指定的分隔符拆分成数组(和数组中join对应)
* split支持传递正则表达式
*/
// 需求:把|分隔符变为,分隔符
let str = 'zxcv|bnmlk|jhgf';
let ary = str.split('|');//=> ["zxcv","bnmlk","jhgf"]
str = ary.join(',');
console.log(str);//=>"zxcv,bnmlk,jhgf"
str = str.toLowerCase();
console.log(str);//'zxcvbnmlkjhgf'
replace
/*
* replace(新字符,老字符):实现字符串替换
* split支持传递正则表达式
*/
// 需求:把|分隔符变为,分隔符
let str = 'zxcv@bnmlk@jhgf';
str = str.replace('@','-');
console.log(str);//=>"zxcv-bnmlk@jhgf"在不使用正则表达式的情况下,
// 执行一次return只能替换一次字符
str = str.replace(/@/g,'-');//使用正则
console.log(str);//=>"zxcv-bnmlk-jhgf"
match
localcompare
trim/trimLeft/trimRight...
控制台输出String.prototype查看所有字符串中提供的方法
网友评论