ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

副队长JavaScript教程(12)–JS数据类型之字符串类型

副队长JavaScript教程(12)–JS数据类型之字符串类型

点此查看所有教程、项目、源码导航

本文目录

  • 1. 前言
  • 2. 何为字符串
  • 3. 字符串的格式
  • 4. 为啥要使用引号
  • 5. 字符串拼接
  • 6. 转义字符
  • 7. 小结

1. 前言

上一篇我们介绍了JS中的数字类型,实际上数字类型还不是JS语言中最常用的数据类型。最常用的数据类型应该是字符串类型。

2. 何为字符串

那么啥是字符串呢,比如我们网页上显示的人的姓名:张三,这个张三很明显不是数字,而是一段文本;再比如网页上显示一个英文单词hello,这个hello也不是数字,它也是一段文本;再比如某人的QQ密码是pass1234,这个密码中虽然有数字,但是也有字母,这个密码无法参与数学运算,其实它也是一段文本。

像这样的一段文本,数字类型无法存储,我们可以使用字符串类型来存储它们。代码如下:

varname="张三";varword="hello";varpassword="pass1234";

字符串使用双引号包裹,执行上面的代码后,三个变量存储的数据类型就都是字符串类型。

3. 字符串的格式

其实,JS支持使用双引号,或者单引号表示字符串,所以下面的代码的意思,跟上面的代码一模一样:

varname='张三';varword='hello';varpassword='pass1234';

在JS语言中,字符串使用双引号或者单引号表达,都是可以的,这两种方式没有优劣之分。

我个人是比较喜欢双引号的,因为其他语言大多数是采用双引号来表示字符串,所以我也习惯了使用双引号。

4. 为啥要使用引号

我们再次讨论这个问题,就是为啥要使用引号来表示字符串,咱们不使用引号行么?

答案是不行,我们看下面的例子:

vara=123;varb=a;varb="a";

我们定义了变量a,它的值是数字123。

然后我们把a的值赋给了b,所以b的值也变为123。

然后我们把字符串"a"的值赋给b,所以b的值变为字符串"a"。

从上面的例子我们可以看出,如果不使用引号,我们是无法区分a到底是变量,还是字符串的。

所以一定要使用引号,至于为啥选择使用引号这种符合,这是人家JS语言创造者设定的,咱们既然使用人家的语言,就得遵循人家的规则。

5. 字符串拼接

在开发的时候,我们经常需要把多段文本拼在一起,这个操作就叫做字符串拼接,JS 中使用+符号完成拼接。
这里要注意,字符串的+和数字相加的+不是一回事。只要+两边有字符串,就会执行拼接,而不是数学加法。

varfirstName="张";varlastName="三";varfullName=firstName+lastName;console.log(fullName);// 输出:张三

我们也可以把字符串和变量、字面量混合拼接:

varage=20;varinfo="我的年龄是:"+age;console.log(info);// 输出:我的年龄是:20

这里大家要留心,age 本身是数字,和字符串用 + 拼接之后,数字会自动转为字符串,最后得到的整体结果也是字符串。

6. 转义字符

有时候我们会遇到麻烦,比如字符串里面本身就包含双引号,直接写会报错,还有想要在字符串里换行、增加制表空格,就需要用到转义字符,转义字符以反斜杠\开头。
我们介绍几个最常用的:

  • \":表示双引号
  • \n:换行
  • \t:制表符,相当于按下 Tab 键,用来缩进
varstr1="他说:\"好好学习\"";varstr2="第一行\n第二行";varstr3="姓名\t年龄";console.log(str1);console.log(str2);console.log(str3);

如果直接在双引号内部写双引号,JS 会认为字符串提前结束,代码直接报错,\"就可以告诉解释器,这个引号是文本内容,不是字符串结束标记。
\n换行和\t制表符在控制台打印的时候才能看到对应的效果,在页面直接输出不会生效,后面我们会再区分这个区别。

7. 小结

字符串类型可以存储一段文本,不管是汉字还是英文还是数字,都可以使用字符串存储。
但是务必注意,以下两个变量的值是不同的:

vara="123";varb=123;

a 是字符串类型,b 是数字类型。
b 能够进行数学运算,而 a 不能进行数学运算,因为它不是数字。
同时我们学会了使用+拼接字符串,还有\"、\n、\t这些常用转义字符,在处理复杂文本的时候会经常用到。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进