五、字符串

字符串由一系列用双引号或单引号分隔的字符组成。使用哪种符号是个人喜好的问题。

var s1 = "Hello";

var s2 = ' World';

有两个运算符可以对字符串进行操作。对于组合字符串,有一个加号(+),在这个上下文中称为连接运算符。它有一个伴随的赋值操作符(+=),将一个字符串附加到一个字符串变量的末尾。

var greeting = s1 + s2; // "Hello World"

s1 += s2; // "Hello World"

要在字符串中换行,必须添加反斜杠。该字符对换行符进行转义,换行符在 JavaScript 中通常表示语句的结束。反斜杠和换行符都从字符串的值中删除。

greeting = "Hello \

World";

转义字符

转义字符用于书写特殊字符,如新行和制表符。这些字符前面总是有一个反斜杠“\”。例如,要在单引号字符串中插入单引号,该标记前面需要有反斜杠。

var s = 'It\'s'; // "It’s"

下表列出了 JavaScript 中可用的转义字符。

| 性格;角色;字母 | 意义 | 性格;角色;字母 | 意义 | | --- | --- | --- | --- | | \n | 新行 | \f | 换页 | | \t | 横表 | \v | 垂直标签 | | \' | 单引号 | \" | 双引号 | | \b | 退格键 | \r | 回车 | | \\ | 反斜线符号 |   |   |

除了这些转义字符之外,还有用于引用 Unicode 和 Latin-1 编码字符集的符号。Unicode 字符表示为“\u”,后跟一个 4 位十六进制数。Latin-1 字符可以表示为以“\x”开头的三位八进制数或两位十六进制数。如下图所示,换行符用四种不同的方式表示。

var line = '\n'; // escape code

line = '\012'; // octal Latin-1

line = '\x0A'; // hexadecimal Latin-1

line = '\u000A'; // hexadecimal Unicode

字符串和数字

在同时包含字符串和数值的表达式中,串联运算符会将数字转换为字符串。如果可能的话,其他数值运算符将尝试将字符串转换为数字,否则将计算为 NaN。

"5" + 5; // "55"

"5" - 5; // 0

"a" - 5; // NaN

用字符串表示的数值可以用parseInt函数转换成整数。

parseInt("5") + 5; // 10

类似地,parseFloat可以用来将字符串转换成浮点数。对于这两个函数,只返回字符串中的第一个数字,否则,如果第一个字符不是数字,则该方法返回 NaN。

parseFloat("3.14"); // 3.14

parseFloat("Hi"); // NaN

或者,一元加法运算符(+)可用于执行字符串到数字的转换,方法是将加法符号放在字符串之前。

+"5" + 5; // 10

字符串对象

JavaScript 中的所有字符串都是字符串对象。因此,它们提供了对执行常见字符串操作时有用的属性和方法的快速访问。例如,字符串中的字符数可以使用 length 属性来确定。

var a = "Hello";

var len = a.length; // 5

当您键入点号来访问 string 对象的成员时,IDE 会提供代码提示,为您提供可用成员的完整列表。例如,toLowerCase方法将字符串转换成小写字母。返回结果字符串,而不更改原始字符串。

var lower = a.toLowerCase(); // "hello"

JavaScript 将任何一段文本解释为 string 对象的一个实例。因此,可以直接在字符串常量上调用方法,就像在字符串变量上一样。

var upper = "abc".toUpperCase(); // "ABC";