Java教程

javascript字符串详解

本文主要是介绍javascript字符串详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

课程大纲

  1. 字符串概述
  2. 字符串长度
  3. 转义字符
  4. 字符串对象
  5. 字符串方法

字符串概述

定义:字符串就是用单引号或者双引号包裹起来的,零个或多个排列在一起的字符。
嵌套:字符串可以嵌套。

在单引号包括的字符串内部,应该使用双引号进行嵌套
在双引号包裹的字符串内部,应该使用单引号进行嵌套
在json解析的时候字符串需要使用单引号,因此推荐在各种情况都使用单引号的方式来声明。

转义字符:用特殊的符号来替代在字符串当中,容易引起歧义的内容
’ 单引号 " 双引号

字符串需要在一行内定义,分成多行会报错。但是如果必须分成多行,则在每一行的末尾使用反斜杠\作为连接符。
也可以使用[(+)连接运算符]来连接多个字符串,模拟多行字符串。

javascript字符串提供了一系列的方法,来帮助我们更好的使用字符串

  1. 测量字符串长度:length属性
  2. 字符索引:[]方法

索引一次只能索引一个字符,如果需要多个则需要用+连接符。
索引从0开始,0表示第一个字符。

  1. 获取指定位置字符:charAt()方法和charCodeAt()方法

charAt返回的是具体的字符
charCodeAt()返回的是字符对应的Unicode编码
字符编码需要记得两个。A-65,a-97。其他符号累加即可。
如果index是负数,或大于等于字符串的长度,则charCodeAt()返回NaN。

  1. 字符串连接:concat()方法

concat()方法能够将两个字符串拼接起来,合成一个新的字符串。
可以认为concat和+作用相同。至少在现阶段我们可以认为他们是没有区别的。

转义字符

定义:反斜杠被叫做转义字符。

字符解释
单引号
"双引号
\ \反斜杠
\n换行
\r回车
\t tab制表符
\b退格符
\f换页符

\n \r
区别
\n是换行,表示使光标下移一格。
\r是回车,表示使光标到行首

是浏览器换行

总结:\r\n表示源代码换行。
表示浏览器文字换行。

字符串对象

javascript中有字符串类型string类型,还提供了另外一种字符串的声明方式,这种方式叫字符串对象。使用new关键字将字符串定义为一个对象。

var newString = new String("Hello World");

不要创建String对象。它会拖慢执行速度,并可能产生其他副作用;
字符串和字符串对象是两个完全不同类型的数据,虽然效果相似,但是不能混为一谈!

字符串属性及方法

属性解释
length返回字符串长度
charAt(number)返回当前指定位置的字符
charCodeAt()返回字符对应的Unicode编码
concat()连接字符串
substring截取字符串
substr截取字符串
slice截取字符串
indexOf返回当前查找字符串的位置,如果没有返回-1
lastIndexOf倒过来查找
trim去掉字符串两端的空格
toUpperCase和toLowerCase大小写转换
localeCompare比较两个字符串的大小
match返回一个指定字符串的数组
search返回位置
replace替换字符串
split字符串切割,返回数组

substring:截取字符串

str.substring(num1,num2);

作用:从num1位置开始截取,截止到num2位置结束之间的字符串。
第一个参数表示子字符串的开始位置,第二个参数表示结束位置。

结束位置理论上应该大于开始位置。
如果出现第一个参数大于第二个参数的情况,substring方法会自动更换两个参数的位置。

substr:截取字符串

str.substr(num1,num2);

作用:从num1位置开始截取,num2表示要截取的字符串长度。

substr方法虽然写法和substring很相似,但是表达的含义以及用法却并不一样。
substr方法两个参数不能够互换。

slice:截取字符串

str.slice(num1,num2);

作用是从num1位置开始截取,num2表示截取结束的位置。

slice作用也是截取字符串,但是slice的两个参数不能互换。
如果开始位置大于结束位置,那么返回结果就是一个空字符串。

substring、substr、slice三个方法第一个参数都表示字符串截取的开始位置。如果省略第二个参数,那么这三个方法都表示获取字符串本身一直到结束。

indexOf:查找一个字符串在另一个字符串的位置

str.indexOf('substr');

字符串查找是从原字符串的开始处进行查找。如果查找失败则返回-1。

lastIndexOf:查找一个字符串在另一个字符串的位置

str.lastIndexOf('substr');

字符串的查找是从原字符串末尾处向前进行查找。如果查找失败则返回-1。
只是查找顺序从末尾向前,并不是把字符串也反过来查找!!!

indexOf和lastIndexOf还能接受第二个参数。表示从这个位置开始向后/前匹配

replace方法

replace方法能够将[查找到的第一个指定字符串]替换成[目标字符串]。如果查找失败则不发生替换,而是将原字符串复制一份拷贝。

str.replace(oldString,newString);

replace方法并不会对原本字符串产生任何影响,而是会生成一个新的字符串。
replace只能改变第一个查找到的子字符串,如果想要改变多个,仍然需要依赖于正则表达式。

trim方法

trim()方法的作用是能够去掉字符串两端多余的空格。

str.trim();

trim方法并不会对原本字符串产生任何影响,而是会生成一个新的字符串。

toUpperCase方法

toUpperCase方法能够把字符串中的英文字母全都转换成大写字母。

str.toUpperCase();

toLowerCase方法

toLowerCase方法能够把字符串中的英文字母全都转换成小写字母。

str.toLowerCase();

localeCompare方法

localeCompare方法的作用是根据本地的排序规则来进行比较。

str1.localeCompare(str2);

如果计算结果大于0则表示str1大于str2。
如果计算结果等于0则表示str1等于str2。
如果计算结果小于0则表示str1小于str2。

ECMAscript标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。如果想要自定义比较方法也是可以的。

match方法

match方法的作用是查找原字符串是否匹配某个子字符串,返回结果是匹配的子字符串数组,如果没有找到则返回null。返回的数组内容为:寻找的子字符串,子字符串位置和原字符串。

str.match(substr);

match方法只能匹配到寻找到的第一个字符串。
match方法还有另外一种正则表达式的写法,就是将substr字符串用正则表达式写。正则表达式的写法中能够找到所有匹配的字符串。

search方法

search方法和match相似,都是查找子字符串在指定字符串中的位置。不同的时返回结果为下标。如果没有找到匹配子串,则返回-1。

str.search(substr);

javascript字符集

JavaScript使用Unicode字符集。也就是说,在Js引擎内部,所有字符都用Unicode表示。

字符串Base64编码

Base64本身是一种加密方式,可以将任意字符转成可打印字符。而我们使用这种编码方法,主要不是为了加密,而是为了不出现特殊字符,简化程序的处理。

解析非中文代码
btoa():字符串或二进制值转为Base64编码
atob():Base64编码转为原来的编码
加密解密中文文字
encodeURIComponent():加密
decodeURIComponent():解密

这篇关于javascript字符串详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!