字符串的基本方法
1.创建一个字符串
传统的方式:通过new关键字来创建的是 一个对象,String对象来处理字符串。
备注: 如果不加new, 单独的String(值),只是将值转换为字符串。
<script type="text/javascript">
var str = new String("yang");
console.log(typeof str);
< /script>
字面量的方式
<script type="text/javascript">
var str_two = 'abcDg';
console.log(typeof str_two);
< /script>
2.字符串中的方法
(1)熟记区
charAt():返回指定位置的字符
.length:返回字符串的长度
charCodeAt(): 返回指定位置的字符 的Unicode编码
fromCharCode(): 接受一个UniCode编码, 返回对应的字符串
< script>
var str_two = 'abcDg';
console.log(str_two.charAt(2));
console.log(str_two.length);
console.log(str_two.charCodeAt(3));
console.log(String.fromCharCode(68));
< /script>
(2)重点区
1. replace(): 替换
1.想替换哪个字符串,就用哪个字符串来调用
2.参数1是被替换的目标, 参数2是替换的新内容
3.会将替换后的字符串,整体返回
< script>
var str_two = 'abcDg';
console.log(str_two.replace("a","A"));
< /script>
2. substring() : 提取 介于两个下标之间的 字符串 ,包头不包尾 (和数组slice相似)。 参数1: 开始下标 参数2: 结束下标
< script>
var str_two = 'abcDg';
console.log(str_two.substring(0,2));
< /script>
3. substr(): 可在字符串中 从开始位置截取指定长度的字符串 (和数组splice相似)。参数1: 开始位置, 参数2 : 指定长度
< script>
var str_two = 'abcDg';
console.log(str_two.substr(0,3));
< /script>
4. split()方法: 用于把一个字符串 分割成字符串数组(本质上就是个数组,只是存的都是字符串罢了)。 参数1 :分割的依据 参数2:(可选参数)分割后 返回的长度 (超出实际大小,按照实际大小算。 小于实际大小的话,按照指定长度返回,超出的不返回)
< script>
var s = "Where are you from?"
console.log(s.split(" ",2));
var arr2 = [1,2,3,4,5];
var str2 = arr2.join("");
console.log(str2);
< /script>
5. slice(): 方法 可提取指定范围 的字符串 。参数1: 开始范围, 参数2: 结束范围,包头不包尾
< script>
var s = "Where are you from?"
console.log(s.slice(0,4));
< /script>
6. indexOf(): 方法可返回指定字符 的对应下标 (首先出现的), 如果没有 :返回 -1
< script>
var s = "Where are you from?"
console.log(s.indexOf(' '));
< /script>
7. lastIndexOf(): 返回指定字符 最后出现的位置
8. toLowerCase() : 把字符串转换为小写,需要谁改变,就由谁来调用这个方法
9. toUpperCase() : 把字符串转换为大写
< script>
var s = "Where are you from?"
console.log(s.lastIndexOf(' '));
console.log(s.toLowerCase());
console.log(s.toUpperCase());
< /script>
练习
<script type="text/javascript">
//1. 作业 1: 将字符串s, 每一个首字母大写
var s = "where are you from?"
//把它分割成一个数组
var s_one =s.split(" ");
for(var i =0; i<s_one.length; i++){
//新的数组的小数组中下标为0所对应的数据大写,在拼接上小数组中剩下的数据(截取范围从1开始到小数组的自身长度结束)
s_one[i] = s_one[i][0].toUpperCase()+s_one[i].substring(1,s_one[i].length) ;
}
console.log(s_one);
//作业2: 用indexOf 去重
var a ="asadsjusj";
//新建一个数组存储去重之后的数据
var a_one =[];
//对字符串a进行循环
for(var i =0; i<a.length; i++){
//如果新的数组中的下标所对应的数据和a中的数据不一致
if(a_one.indexOf(a[i])==-1){
//把数据添加到新的数组中
a_one.push(a[i]);
}
}
//jion 把字符串拼接起来
console.log(a_one.join(""));
</script>