36、字符串

一、认识字符串

字符串声明:
            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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪花酥01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值