字符串是计算机语言中最为基本的一种数据类型,但是其于数值类型有着很多不同,首先它没有固定的大小,而数值类型有着固定的大小(整型为32位,浮点型64位,逻辑型占1位)。由于字符串大小无法确定,因此,只能将字符串视为一种对象而不是简单的值。
1.字符串常量
在JavaScript中,字符串常量是由unicode字符串、数字和各种符号组合而成的,而且字符串常量允许包含在单引号或者双引号中。在此,有几个问题需要格外注意:
- 如果字符串包含在双引号中,则字符串中允许包含单引号。但是,如果字符串包含在单引号中时,字符串不允许包含双引号。
- 字符串应该在一行中显示,换行显示是不允许的,也就是说,在字符串的书写时不允许加入回车符。
2.转义序列
由于某些字符在程序中并不方便表示或者表示会容易引起冲突,因此,为了将这些包含特殊意义的字符串表示清楚,JavaScript引入了转义序列。比如下面的例子:
var say="博主教育我们:"程序员是一个苦逼的职业。"";
这段代码在执行的时候,肯定是会报错的。因为JavaScript已经赋予双引号为字符串直接量的声明符号,如果再将双引号包含在字符串中,将会破坏字符串常量。因此,必须用到转移序列。将上面的例子改为:
var say="博主教育我们:\"程序员是一个苦逼的职业。\"";
这样,我们就避免了冲突错误。JavaScript语言规定反斜杠加上字符表示字符本身的意义或者某种特殊含义,这些间接表示某些特殊符的方法被成为转移序列。JavaScript中的转移序列如下表所示。。
序列 | 序列代表的字符 |
\0 | Null字符 |
\b | 退格符 |
\t | 水平制表符 |
\n | 换行符 |
\v | 垂直制表符 |
\f | 换页符 |
\r | 回车符 |
\” | 双引号 |
\’ | 单引号 |
\\ | 反斜线 |
\xXX | 由两位十六进制数值XX制定的字符 |
\Uxxx | 由4位十六进制数值XXXX制定的unicode字符串 |
\XXX | 由1-3位八进制数值制定的字符 |