一、认识字符串
字符串声明:
1. new String() 构造函数声明字符串 这种方法创建的是字符串对象
2.使用String()将其他数据类型转为字符串
**3.使用"" 、 ''
<script type="text/javascript">
var str1 = new String(100);
console.log(str1, typeof str1);
var str2 = 666;
console.log(String(str2));
var str3 = "今天星期六";
console.log(str3, typeof str3);
/*
字符串.length : 字符的个数
字符串取值:字符串[下标] 下标从0开始
*/
console.log(str3.length); // 5
console.log(str3[4]);
// 字符串是只读的 数组是可以修改的
str3[4] = "二";
console.log(str3);
// var arr = [1,2,3,4]
// arr[2] = 6
// console.log(arr)
// 遍历字符串
// 1.for循环
// for(var i = 0; i < str3.length; i++){
// console.log(str3[i])
// }
// 2. for in
// for(var i in str3){
// console.log(str3[i])
// }
// 3. for of
// for(var i of str3){
// console.log(i)
// }
// forEach不能用来遍历字符串
// str3.forEach(function(elemnt,index){
// console.log(elemnt,index)
// })
</script>
二、查找字符串的方法
<script type="text/javascript">
var str = "asdfgahjkl";
console.log(str.indexOf("s")); // 1
// 从下标是2的位置开始查找
console.log(str.indexOf("s", 2)); // -1
/*
includes()
语法:
字符串.includes(参数1,参数2)
参数1:要查找的字符
参数2:从哪个下标开始查找,如果不写这个参数,默认从0开始找
如果找到的话,返回的true;找不到返回false
功能:查询字符串中是否有某个字符
*/
var s = str.includes("a");
console.log(s); // true
/*
startsWith()
语法:字符串.startsWith(参数)
参数:字符串
功能:检测开头的字符串是否一致
如果一致返回true,不一致返回false
*/
var h = "http://www.baidu.com/index.html";
console.log(h.startsWith("http")); // true
console.log(h.startsWith("https")); // false
/*
endsWith()
语法:字符串.endsWith(参数)
参数:字符串
功能:检测结尾的字符串是否一致
如果一致返回true,不一致返回false
*/
console.log(h.endsWith(".html")); // true
/*
search()
语法:字符串.search(参数)
参数:要查找的字符串
功能:在字符串中查找字符第一次出现的位置
如果找到,就返回对应的索引,找不到就返回-1
search()不支持指定起始查找位置,他总是从字符串的开头开始匹配
*/
/*
charCodeAt()
语法:字符串.charCodeAt(参数)
参数:要检测的字符的下标
功能:在字符串中查找对应下标字符的编码值
*/
var m = "abc";
console.log(m.charCodeAt(1)); // 98
</script>
三、字符串的提取方法
<script type="text/javascript">
/*
**substring()
语法:字符串.substring(参数1,参数2)
参数1:从第几个下标开始截取
参数2:截取到那个下标结束
功能:将字符串中的某几个字符截取出来
返回的是截取的字符串
*/
var str = "2023-10-09 15:07:19 asdfghjkl";
// str.substring(11,19) 从索引位置11开始截取(包括11),截取到索引位置19(不包括19)
console.log(str.substring(11, 19));
/*
substr()
语法:字符串.substr(参数1,参数2)
参数1:从第几个下标开始截取
参数2:截取字符的长度/个数
功能:将字符串中的某几个字符截取出来
返回的是截取的字符串
*/
console.log(str.substr(11, 8), "substr");
/*
slice() 可以实现浅拷贝
语法:字符串.slice(参数1(从第几个下标开始截取),参数2)
参数1:从第几个下标开始截取
参数2:截取到哪个下标结束
功能:将字符串中某几个字符截取出来
返回的是截取的字符串
*/
console.log(str.slice(11, 19), "slice");
var arr = [
{
date: "2022-01-17 11:22:56 asdfghjkj",
},
{
date: "2023-04-06 13:23:45 asdfghjkj",
},
{
date: "2021-01-16 10:02:09 asdfghjkj",
},
];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]["date"].substring(0, 10));
}
</script>
四、字符串的操作方法
<script type="text/javascript">
/*
replace()
语法:字符串.replace(参数1,参数2)
参数1:旧字符串
参数2:新字符串
功能:用新字符串将旧字符串替换掉,生成一个新字符串
*/
var str = "http://www.baidu.com";
var newStr = str.replace("baidu", "sogou");
console.log(newStr);
/*
split():字符串分割
语法:字符串.split(分隔符)
功能:通过分割将字符串进行拆分,放到数组里面去
*/
var str2 = "1-2-3-4";
console.log(str2.split(["-"]));
/*
toLowerCase():全小写
toUpperCase():全大写
*/
var str3 = "ABCDEF";
var str4 = "qwer";
console.log(str3.toLowerCase());
console.log(str4.toUpperCase());
/*
concat():字符串的拼接
*/
var a = "111";
var b = "222";
console.log(a.concat(b));
// 最常用的 +号字符串拼接
console.log(a + b);
</script>