文章目录
一.字符串的概述
在js中,字符串是带着双引号的一些数据。
<script>
var a="学而时习之";
console.log(a);
</script>
总结:用 “+” 与字符串连在一起的数据类型,最终都会变成字符串类型。
例如,字符串与数组(引用类型)连在一起,代码如下:
<script>
var str="学习";
console.log(str)
console.log(typeof str); //string
console.log("---------------------------------");
var arr=[1,2,3];
console.log(arr);
console.log(typeof arr); //object
console.log("---------------------------------");
var newStr=str+arr;
console.log(newStr);
console.log(typeof newStr); //string
</script>
二.字符串的常用属性
length:长度。
作用:获取字符串的长度。
直接获取长度
<script>
var str="学而时习之";
console.log(str.length); //5
</script>
结合循环遍历字符串
<script>
var str="学而时习之";
for(var i=0;i<str.length;i++){
console.log(str[i]);
}
</script>
三.字符串的常用方法
1.常用方法:toLowerCase与toUpperCase
toLowerCase:小写
作用:可以将字符串转成小写。
<script>
var str="ABc";
console.log("原字符串:"+str);
console.log("转换成小写:"+str.toLowerCase());
</script>
toUpperCase:大写。
作用:可以将字符串转成大写。
<script>
var str="Abc";
console.log("原字符串:"+str);
console.log("转换成大写:"+str.toUpperCase());
</script>
2.常用方法:search与split
search :搜索
作用:可以找到某个字符的索引值。
<script>
var str="Abc";
console.log(str.search("b")); //1
</script>
split:切割
作用:可以切割掉某个字符,并且得到一个新的数组
<script>
var str="Abc";
var newStr=str.split("b");
console.log(newStr);
</script>
3.常用方法:substring与substr
substring:截取字符串。
作用:可以在字符串中截取一部分的字符。
用法:substring(起始索引值,结束索引值)
注意事项:包含起始索引值,不包含结束索引值
<script>
var str="story";
var newStr=str.substring(1,3);
console.log("原字符串:"+str);
console.log("截取后的字符串:"+newStr);
</script>
substr:截取字符串。
作用:可以在字符串中截取一部分的字符。
用法:substring(起始索引值,切割长度)
注意事项:字符个数取决于切割长度。
<script>
var str="story";
var newStr=str.substr(1,3);
console.log("原字符串:"+str);
console.log("截取后的字符串:"+newStr);
</script>
总结:虽然两个方法的作用一样,但是用法不一样。
4.常用方法:replace与match
replace:替换。
作用:将符合条件的字符串替换成新的字符串。
<script>
var str="我要学习";
var newStr=str.replace("学习","跑步");
console.log("原字符串:"+str);
console.log("替换后的字符串:"+newStr);
</script>
match:匹配
作用:找到符合条件的第一个字符串,并返回一个数组。
<script>
var str="我要学习,因为学习很快乐";
var newStr=str.match("学习");
console.log("原字符串:"+str);
console.log(newStr);
</script>
总结:因为第一个学习中的 " 学 " 的下标是2,所以index就是2。
四.字符串实战
1.字符串倒置
方法1:传递字符串,在函数体内打印结果。
<script>
function rev(str){
console.log(str);
var result="";
for(var i=str.length-1;i>=0;i--){
result=result+str[i];
}
console.log(result);
}
rev("学习使人快乐");
</script>
方法2:用return返回一个结果。
<script>
function rev(str){
console.log(str);
var result="";
for(var i=str.length-1;i>=0;i--){
result=result+str[i];
}
return result;
}
var newStr=rev("学习使人快乐");
console.log(newStr);
</script>
方法3:用字符串和数组的方法来做。
字符串方法:split
数组方法:reverse、join
<script>
function rev(str){
console.log(str);
var arr=str.split(""); //将字符串切割为数组
arr.reverse(); //将数组倒序
var result=arr.join(""); //连接,并且将数组转换为字符串
return result;
}
var newStr=rev("学习使人快乐");
console.log(newStr);
</script>
2.大写转小写,小写转大写
a:97
A:65
总结:小写字母的ascll码是要比大写字母大的。
<script>
function changString(str){
console.log(str);
var result="";
for(var index=0;index<str.length;index++){
if(str[index] < "a"){ //利用ascll码进行比较
//大写转小写
result=result+str[index].toLowerCase();
}
else{
//小写转大写
result=result+str[index].toUpperCase();
}
}
return result;
}
var newStr=changString("aBcDEFgHi");
console.log(newStr);
</script>
3.将每个英语单词的首字母变成大写
substr(1):从下标为1的字符开始截取。
解题思路:
①使用split方法。我们的目的是为了删除空格,并且会把字符串转换成数组。
②遍历数组,找到每个单词的首字母并且大写,再去连接截取字符串之后的结果。
③声明一个空的结果,将连接起来的结果不断地赋值给result
④返回result的值,并且打印结果
<script>
function changString(str){
console.log(str);
var arr=str.split(" "); //将字符串分割成了数组
var result="";
//循环遍历数组:获取每个单词
for(var i=0;i<arr.length;i++){
result=result + arr[i][0].toUpperCase() + arr[i].substr(1)+" ";
}
return result;
}
var newStr=changString("apple watermelon");
console.log(newStr);
</script>
篇章
上一篇:js笔记11-堆栈空间
下一篇:js笔记13-JSON数据格式