JS学习总结5 字符串

1.常用转义字符

\n 换行
\0 空字符
" 双引号
’ 单引号
\ 反斜杠

		let str =`\n12\"34\'56\r78\0 \\`		
			console.log(str);	//
								//12"34'5678  \

2.字符串书写格式

	1
		let str="123"+
				"345"+
				"567"
		console.log(str); //123345567
	2
		let str2="\
				  123\
				  345\
				  567"
		console.log(str2);	//				  123				  345				  567
	3
		let str3=`
				  123
				  345
				  ${str2}
				  `
		console.log(str3);	
				 	  /* 
				 	  	 
				  123
				  345
				  				  123				  345				  567
				  
					  */

总结一下
+字符串没有格式,
\字符串只保留空格
``字符串可以保留格式,甚至可以写变量 (推荐用)

3 .字符串方法

查找搜索

1查找字符串 indexOf lastIndexOf search

1indexO()f 和lastIndexOf()
相同:都有两个参数,第一个是要查搜索的字符串,第二个是开始的位置
没找到都返回-1,找到了都返回下标
区别:indexOf 从前往后		lastIndexOf从后往前


let str="stSTrinTg"
console.log(str.indexOf("i",2))			//5		从下标2开始往后找,找到下标5字符串为i,返回5
console.log(str.lastIndexOf("i",2))		//-1	从下标2开始往前找,找不到i	返回-1



search()与indexOf
区别 search没有第二个参数,search可以用正则表达式搜索



let str="stSTrinTg"
	console.time("search")
	str.search("T")
	console.timeEnd("search")
	console.time("indexOf")
	str.indexOf("T")	
	console.timeEnd("indexOf")
	
	//search: 0.02392578125 ms
	//indexOf:0.005126953125 ms
	
	从search支持正则和速度差一些可以看出来,字符串参数可能被转换成了正则来搜索,所以简单的搜索用indexOf更快

分割

let str="stSTrinTg"

1.slice(start, end) 
返回start到end之间的字符串
						console.log(str.slice(2,5));
						 // 返回下标2到4的字符串  STr
负数参数从后往前算				
						console.log(str.slice(-2));
						 // 从后往前数2位字符串		Tg
						console.log(str.slice(2));
						 // 返回下标2到最后的字符串		STrinTg

2.substr(start, length)
第二个参数为分割长度。
从start开始分割length个字符,如果length为负数则不返回值
其他与slice一致
3.substring(start, end)
无法接受负的索引。其他与slice一致
总结下都是左闭右开



4.split() 把一个字符串按照分隔符分割成数组
2个参数,第一个参数是正则或字符串,指定分割的地方,第二个参数为分割后返回多少值,默认全返回
let splitstr="a b c d e"
console.log(splitstr.split(" "));	//['a', 'b', 'c', 'd', 'e']
console.log(splitstr.split(" ",3));	// ['a', 'b', 'c']

5.replace() 方法用另一个值替换在字符串中指定的值
两个参数,第一个要替换前的值,第二个替换后的值
let str="stSTrinTg"
console.log(str.replace("T","|"));	//stS|rinTg
如果要大小写敏感,全局匹配
用正则表达式
console.log(str.replace(/T/ig,"|"));	//s|S|rin|g


其他方法

toUpperCase()转换字符串为大写
toLowerCase()转换字符串为小写
concat()	连接字符串,和+效果一致
trim() 		清理字符串前后空白
charAt(index)   返回字符串中指定下标的字符串:

4.字符串是不是个对象

		let str="str"
		let strobj=new String("obj")
		console.log(str instanceof Object);	//string
		console.log(typeof(strobj));	//object
		然而这两个都能执行方法
		
		console.log(str);
		console.log(strobj);

在这里插入图片描述

通过输出str 和strobj可以看出,理论上来说str不可能能够执行方法,毕竟方法都在字符串对象身上,str只是字面量
所以可以得出一个结论
JavaScript 有特殊的处理临时将基本字符串转化为字符串对象并且调用相应的方法和返回结果

所以字符串对象和字符串是两个东西。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值