字符串型
字符串是指计算机中用于表示文本的一系列字符,在JavaScript中使用单引号或双引号来包裹字符串,示例代码如下。
var str1 = '单引号字符串';
var str2 = "双引号字符串";
下面我们针对字符串型在使用时的一些细节问题进行讲解。
1. 单、双引号嵌套
在单引号字符串中可以直接书写双引号,在双引号字符串中也可以直接书写单引号,示例代码如下。
// 正确的语法
var str1 = 'I am a "programmer"';  // I am a "programmer"
var str2 = "I'm a 'programmer'"; // I'm a 'programmer'
// 常见的错误语法
var str1 = 'I'm a programmer';    // 单引号错误用法
var str2 = "I'm a "programmer""; // 双引号错误用法
var str3 = 'I am a programmer";   // 单双引号混用
2. 转义符
在字符串中使用换行、Tab等特殊符号时,可以用转义符来进行转义。转义符都是以“\”开始的,常用的转义符如表1所示。
表1 常用的转义符
| 转义符 | 解释说明 | 转义符 | 解释说明 | 
|---|---|---|---|
| ' | 单引号 | " | 双引号 | 
| \n | LF换行,n表示newline | \v | 跳格(Tab、水平) | 
| \t | Tab符号 | \r | CR换行 | 
| \f | 换页 | \ | 反斜线(\) | 
| \b | 退格,b表示blank | \0 | Null字节 | 
| \xhh | 由2位十六进制数字hh表示的ISO-8859-1字符。如“\x61”表示“a” | \uhhhh | 由4位十六进制数字hhhh表示的Unicode字符。如“\u597d”表示“好” | 
下面我们通过代码演示转义符的使用。
var str1 = 'I\'m a programmer';   // I'm a programmer
var str2 = 'I am a\nprogrammer'   // I am a(换行)programmer
var str3 = 'C:\\JavaScript\\';    // C:\JavaScript\
var str4 = '**\x61bc**';       // abc
var str5 = '\u597d学生';       // 好学生
3. 字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的length属性可以获取整个字符串的长度,示例代码如下。
var str1 = 'I\'m a programmer';
console.log(str1.length);      // 输出结果:16
var str2 = '我是程序员';
console.log(str2.length);      // 输出结果:5
4. 访问字符串中的字符
字符串可以使用“[index]”语法按照index(索引)访问字符,index从0开始,一直到字符串的长度减1,如果超过了index最大值,会返回undefined。示例代码如下。
var str = 'I\'m a programmer';
console.log(str[0]);     // 输出结果:I
console.log(str[1]);     // 输出结果:'
console.log(str[15]);      // 输出结果:r
console.log(str[16]);      // 输出结果:undefined
5. 字符串拼接
多个字符串之间可以使用“+”进行拼接,如果数据类型不同,拼接前会把其他类型转成字符串,再拼接成一个新的字符串。示例代码如下。
console.log('a' + 'b');     // ab
console.log('a' + 18);      // a18
console.log('_' + true);   // _true
console.log('12' + 14);     // 1214
console.log(12 + 14);      // 两个数字相加,结果为26(非字符串拼接)
在实际开发中,经常会将字符串和变量进行拼接,这是因为使用变量可以很方便地修改里面的值。示例代码如下。
var age = 18;
console.log('小明' + age + '岁'); //小明18岁
6. 【显示年龄】案例
在学习了字符串的使用后,下面我们通过一个显示年龄的案例来练习。本案例需要弹出一个输入框,让用户输入年龄。输入后,单击“确定”按钮,程序就会弹出来一个警告框,显示内容为“您今年x岁了”,x表示刚才输入的年龄。具体代码如下。
 1  // 弹出一个输入框,让用户输入年龄
 2  var age = prompt('请输入您的年龄');
 3  // 将年龄与输出的字符串拼接
 4  var msg = '您今年' + age + '岁了';
 5  // 弹出警告框,输出程序的处理结果
 6  alert(msg);
