什么是字符串?
字符串:从字面意思理解,就是将若干文字或符号连接在一起的一串字符,称为字符串。从表现形式上看呢,就是写在引号中的数据,都称为是字符串,而且不区分单双引。
如何声明字符串?
1.字面量方式:‘’ “”
2.构造函数方式:new String()
//声明字符串
var str = 'hello'; //字面量声明方式
var o_str = new String('hello'); //构造函数声明方式
//在使用中没有区别,但是在检测数据类型的是一定的区别。
console.log(typeof str); //返回结果: 'string'
console.log(typeof o_str); //返回结果:'object'
String的属性
length : 表示字符串的长度(即字符串中有多少个字符)
var str = '中华人民共和国';
console.log(str.length); // 7 表示有7个字符
字符串的方法(查、替、截、转)
查
indexOf('字符串',start)
1.'字符串' : 要查找的字符串
2.start : 指定从哪个下标开始查找
作用:返回指定字符串在父串中首次出现
的下标位置。
返回值:返回下标值
是否影响原字符串:否
//声明一个字符串
var str = 'how do you do?';
console.log(str.indexOf('do')); // 4 返回do第一次出现时的下标,这里只返回字符串中第一个字符的下标
console.log(str.indexOf('do',5)); //11 从5下标开始向后查找,do第一次出现的下标是11
lastIndexOf('字符串',start)
作用:返回一个字符串最后出现的位置。
返回值:返回下标值
是否影响原字符串:否
//声明一个字符串
var str = 'how do you do?';
console.log(str.lastIndexOf('do')); // 11 返回do最后一次出现时的下标,这里只返回字符串中第一个字符的下标
console.log(str.lastIndexOf('do',5)); //4 查找截止到5下标,do最后一次出现的下标是4
charAt(index) : index-下标
作用:根据下标获取指定的字符
返回值:返回字符
是否影响原字符串:否
//声明一个字符串
var str = 'how do you do?';
console.log(str.charAt(4)); // 'd' 返回4下标对应的字符d
//遍历字符串
for(var i = 0,len = str.length;i < len;i ++){
console.log(str.charAt(i)); //从字符串中遍历出每一个字符,进行处理
}
charCodeAt(index) :index-下标
作用:根据下标查找指定字符的编码值。
返回值:返回字符编码
是否影响原字符串:否
//声明一个字符串
var str = 'how do you do?';
console.log(str.charCodeAt(4)); // 100 返回4下标对应的字符d的编码值
替
replace(旧串,新串)
旧串: 被替换的字符串
新串: 要替换成的字符串
作用:在父串中将指定的字符串替换成新的字符串(注:一次只能替换一个字符串)。
返回值:返回替换后的新字符串
是否影响原字符串:否
//声明一个字符串
var str = 'how do you do?';
console.log(str.replace('do','de')); // 'how de you do' 将第一个do替换成了de
截
substring(start,end)
start : 从哪个下标位置开始
end : 到哪个下标位置结束(不包含结束位置)
作用:截取字符串中指定范围的子串。
返回值:被截取到的字符串
是否影响原字符串:否
substr(start,length)
start : 从哪个下标位置开始
length : 截取指定的长度
作用:截取指定长度的子串
返回值:被截取到的字符串
是否影响原字符串:否
slice(start,end)
start : 从哪个下标位置开始
end : 到哪个下标位置结束(不包含结束位置)
作用:截取字符串中指定范围的子串。
返回值:被截取到的字符串
是否影响原字符串:否
//声明一个字符串
var str = 'how do you do?';
console.log(str.substring(4)); // 'do you do?' 从下标4开始截取到字符串末尾
console.log(str.substr(4)); // 'do you do?' 从下标4开始截取到字符串末尾
console.log(str.slice(4)); // 'do you do?' 从下标4开始截取到字符串末尾
console.log(str.substring(4,6)); // 'do' 从下标4开始截取到下标6(不包含下标6位置的字符)
console.log(str.substr(4,6)); // 'do you' 从下标4开始截取6个字符
console.log(str.slice(4,6)); // 'do' 从下标4开始截取到下标6(不包含下标6位置的字符)
console.log(str.substring(6,4)); // 'do' 从下标4开始截取到下标6(不包含下标6位置的字符)(substring总是从小的下标开始截取到大的下标,在方法中做了参数的交换)
console.log(str.substr(4,6)); // 'do you' 从下标4开始截取6个字符
console.log(str.slice(6,4)); // '' 从6下标开始截取到4下标,但是后面没有4下标,所以截取到空字符串。
console.log(str.substring(-6,-4)); // '' 从下标-6开始截取到下标-4(substring的参数不支持负数,所以截取到空字符串)
console.log(str.substr(4,6)); // 'do you' 从下标4开始截取6个字符
console.log(str.slice(-6,-4)); // 'ou' 从-6下标开始截取到-4下标,最后一个字符为-1,依次向前-2,-3,…… ,所以-6对应的是o,截取现-4对应的是空格,不包含-4下标的字符,所以截取到'ou'
转
toUpperCase()
作用:将字符串中的小写字母全部转为大写字母。
返回值:返回转换后的字符串
是否影响原字符串:否
var str = 'How Are You';
console.log(str.toUpperCase()); //'HOW ARE YOU' 转为大写字母
toLowerCase()
作用:将字符串中的大写字母全部转为小写字母。
返回值:返回转换后的字符串
是否影响原字符串:否
var str = 'How Are You';
console.log(str.toLowerCase()); //'how are you' 转为小写字母
split('切割符',length)
作用:将数组切割为数组。
返回值:返回转换后的数组
是否影响原字符串:否
var str = 'how are you';
console.log(str.split(' ')); //['how','are','you'] 以空格作为切割符,切成三个字符串,分别放到数组中。
console.log(str.split(' ',2)); //['how','are'] 以空格作为切割符,切成三个字符串,第二个参数表示将前面2个字符串,分别放到数组中。
-- End --