String
String是字符串的引用类型
在引号中所有的内容都是字符串类型,String对象的方法可以在所有字符串原始值上调用
所有的字符串都拥有length属性表示字符的个数,可以使用索引访问字符串
String.prototype
String.prototype 中提供了很多字符串的操作方法
所有的基本字符串都可以访问到这些方法(在访问方法时基本字符串会被包装成对象)
charAt
描述:符串str中获得指定索引的字符
语法:str.charAt(index);
参数:index(number) 字符串索引
返回值:string 字符
var str = 'abc';
var result = str.charAt(1); // 相当于 str[1]
console.log(result);
charCodeAt
描述:符串str中获得指定索引的字符的unicode编码
语法:str.charAt(index);
参数:index(number) 字符串索引
返回值:unicode(number) 0-65535
数字 48-57
大写字母 65-90
小写字母 97-122
var str = '09azAZ';
console.log(str.charCodeAt(0));
console.log(str.charCodeAt(1));
console.log(str.charCodeAt(2));
console.log(str.charCodeAt(3));
console.log(str.charCodeAt(4));
console.log(str.charCodeAt(5));
//晚上去蹦迪
var str = '晚上去蹦迪';
var arr = [];
for (var i = 0; i < str.length; i++) {
arr.push(str.charCodeAt(i) + 138);
}
console.log(arr);//转化为Unicode
String.fromCharCode();
语法: String.fromCharCode(unicode);
返回值: string Unicode对应的字符
arr.forEach(elm => {
console.log(String.fromCharCode(elm - 138));//转化为文字
})
concat(拼接字符串)
描述:concat将所有参数依次连接到str中,并返回一个新字符串
语法:str.charCodeAt(index);
参数:value(string)
返回值:新字符串
注意点:不修改源字符串
var str = 'hello';
var str2 = 'world';
var str3 = '!';
var str4 = str.concat(str2, str3);
console.log(str4);
console.log(str);
//对于拼接多个字符串,使用加号更加方便
indexOf(字符串位置)
描述:indexOf用于在字符串中查找指定的字符串片段
如果找到字符串片段则返回该片段第一个的索引下标
如果没有找到则返回-1
语法:str.indexOf(searchString[,fromIndex]);
参数:searchString(string) 需要在str中查找的字符串片段
fromIndex(number) 开始查找索引
返回值:index(number) 或 -1
注意点:从前往后
var str = 'JavaScript';
console.log(str.indexOf('cri'));
//遍历数组,差找e的所有索引
let stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
let positions = new Array();
let pos = stringValue.indexOf("e");
while (pos > -1) {
positions.push(pos);
pos = stringValue.indexOf("e", pos + 1);
}
// for (; pos > -1;) {
// positions.push(pos);
// pos = stringValue.indexOf("e", pos + 1)
// }
console.log(positions);
lastIndextOf(字符串位置)
描述:lastIndexOf用于在字符串中查找指定的字符串片段
如果找到字符串片段则返回该片段第一个的索引下标
如果没有找到则返回-1
检索顺序是从后向前
语法:str.lastIndexOf(searchString[,fromIndex]);
参数:searchString(string) 需要在str中查找的字符串片段
fromIndex(number) 开始查找索引
返回值:index(number) 或 -1
注意点:从后往前
var str = 'JavaScript';
console.log(str.lastIndexOf('pi'));//-1
slice(提取子字符串)
描述:substring用于截取字符串片段,从start开始截取到end结尾==(不包含end)==,若没有指定长度则截取到结尾
语法:str.slice(start[,end]);
参数:start(number) 开始索引
end(number) 结束索引
返回值:新字符串(子字符串)
注意点:如果参数是负数,则表示从后往前计算字符串 -1表示最后一个 ,-2表示倒数第二个,以此类推
var str = '123456789';
console.log(str.slice(2, 6));
console.log(str.slice(2, -1));
var str2 = str.slice(10);
console.log(str2 === ''); // 如果没有截取到内容则返回空字符串
substring(提取子字符串)
描述:substring用于截取字符串片段,从start开始截取到end结尾==(不包含end)==,若没有指定长度则截取到结尾
语法:str.substring(start[,end]);
参数:start(number) 开始索引
end(number) 结束索引
返回值:新字符串(子字符串)
注意点:当start大于end时,会自动交换两个参数的值
当任何参数小于0时,会默认它为0
任何参数为NaN时,默认为0
var str = '123456789';
console.log(str.slice(2, 6));
console.log(str.slice(2, -1));
var str2 = str.slice(10);
console.log(str2 === ''); // 如果没有截取到内容则返回空字符串
substr(提取子字符串)
描述:substr用于截取字符串片段,从start开始,指定长度,若没有指定长度则截取到结尾
语法:str.substr(start[,length]);
参数:start(number) 开始索引
length(number) 长度,字符的数量
返回值:新字符串(子字符串)
注意:如果有负值,第一个负值转化为字符串长度加上该值(倒数),第二个负值转化为0
var str = '123456789';
var str2 = str.substr(1, 5);
console.log(str2);
split
描述:split使用指定的分离器对字符串进行切割,将切割后的结果存入一个新数组中
数组中每一个元素都是切割后的一部分
语法:str.split([sep]);
参数:sep(string) 分离器,用于切割字符串(可以是字符串中的元素也可以不是)
返回值:新数组
var str = '1-2-3-4-5';
var arr = str.split('-');
console.log(arr);
var email = 'root@rootbk.cn';
var result = email.split('@');
console.log(result);
var path = 'E:/SynologyDrive/Drive/2102/week2/day10/code';
var paths = path.split('/');
console.log(paths);
var str2 = 'abcdefg';
var arr2 = str2.split('');
console.log(arr2);
trim
描述:去除字符串两边空格
语法:str.trim( )
返回值:新字符串
var str = ' zhangsan ';
console.log(str);
console.log(str.trim());
repeat
语法:str.repeat(count);
参数:count(number) 重复的次数
返回值:新字符串
var str = 'abc';
console.log(str.repeat(3));
toUpperCase
描述:将字母转换成大写
语法:str.toUpperCase( );
var str = 'abc';
console.log(str.toUpperCase());//'ABC'
toLowerCase
描述:将字母转换成大写
语法:str.toLowerCase( );
var str = 'ABC';
console.log(str.toLowerCase());//'abc'