字符串型
字符串是指计算机中用于表示文本的一系列字符,在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);