在底层,字符串是以字符数组的形式保存的,
var str = "hello";
//["h","e","l","l","o"]
对字符串的操作方法与对数组的操作类似
console.log(str.length);
//5 length可以用来获取字符串的长度
console.log(str[3]);
//i 索引
charAt()
可以返回字符串中指定为之的字符,根据索引获取指定字符,
console.log(str.charAt(0));
//h
charCodeAt()
获取指定位置字符的Unicode编码
console.log(str.charCodeAt(0));
//98 "h"的Unicode编码是98
fromCharCode()
可以根据字符编码获取字符,注意,这个方法是构造函数的方法,必须以String.xxx()的形式调用(通过构造函数对象调用)
console.log(String.fromCharCode(72));
//H
concat()
可以用来连接两个或多个字符串,作用与“+”相同,对原字符串不会产生影响
var result = str.concat("你好");
console.log(result);
//hello你好
indexOf()
该方法可以检索一个字符串是否含有指定内容
result = str.indexOf("h");
console.log(result);
//0 在索引为0的位置
//可以指定第二个参数,指定开始查找的地方
result = str.indexOf("h",0);
//从第0个开始找
console.log(result);
//0 一样的结果
lastIndexOf()
该方法用法和indexOf()相同,不同的是indexOf()是从前往后找,而lastIndexOf()是从后往前找,索引是正常的。
slice()
可以从字符串截取指定的内容,不会影响原字符串,而是将截取到的内容返回。
有两个参数,
第一个是开始位置的索引(包括开始位置)
第二个是结束位置的索引(不包括结束位置)
第二个参数可以省略,省略则会将开始的索引后面的全部截取;
也可以传递一个负数,负数的话将会从后面计算,-1是倒数第一个,以此类推...
var str = "abcdefghijk";
var result = str.slice(0,2);
console.log(result, str);
//ab abcdefghijk
如果参数a = b
或者a > b
,则返回空字符串
subString()
可以用来截取一个字符串,和slice()类似
参数:
第一个:开始截取位置的索引(包括开始位置)
第二个:结束截取位置的索引(不包括结束位置)
var str = "abcdefghijk";
var result = str.subString(0,2);
console.log(result, str);
//ab abcdefghijk
不同的是,该方法不能接受负值作为参数,如果传递了一个负值,则默认使用0,而且它还自动调整位置,如果第二个参数小于第一个参数,则自动交换位置。
subStr()
和subString()类似
参数:
第一个:开始截取位置的索引(包括开始位置)
第二个:截取的长度
第二个参数可以省略,省略则会将开始的索引后面的全部截取;
也可以传递一个负数,负数的话将会从后面计算,-1是倒数第一个,以此类推...
var str = "abcdefghijk";
var result = str.subStr(2,2);
console.log(result, str);
//cd abcdefghijk
split()
可以将一个字符串拆分为一个数组。
参数:
需要一个字符串作为参数,将会根据该字符串去拆分数组。
var str = "abc,def,ghi";
var result = str.split(",");
//根据逗号去拆分
console.log(result);
//"abc,def,ghi"
console.log(result[0]);
//abc
console.log(result[1]);
//def
console.log(Array.isArray(result));
//true
toUpperCase()
将一个字符串转换为大写并返回,不会影响原字符串
var str = "abcdefgh";
var result = str.toUpperCase();
console.log(result,str);
//ABCDEFGH
//abcdefgh
toLowerCase()
将一个字符串转换为小写并返回,不会影响原字符串
var str = "ABCDEFGH";
var result = str.toLowerCase();
console.log(result,str);
//abcdefgh
//ABCDEFGH
trim()
删除头尾空格
var str = " ABCDEFGH ";
var result = str.trim();
console.log(result,str);
//ABCDEFGH 没有空格