首页 > 语言 > JavaScript > 正文

解析JavaScript中的字符串类型与字符编码支持

2024-05-06 14:55:29
字体:
来源:转载
供稿:网友

定义
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。

'abc'"abc"
单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。
'key = "value"'"It's a long journey"

上面两个都是合法的字符串。

如果要在单引号字符串的内部,使用单引号(或者在双引号字符串的内部,使用双引号),就必须在内部的单引号(或者双引号)前面加上反斜杠,用来转义。

'Did she say /'Hello/'?'// "Did she say 'Hello'?""Did she say /"Hello/"?"// "Did she say "Hello"?"

由于HTML语言的属性值使用双引号,所以很多项目约定JavaScript语言的字符串只使用单引号,本教程就遵守这个约定。当然,只使用双引号也完全可以。重要的是,坚持使用一种风格,不要两种风格混合。

字符串默认只能写在一行内,分成多行将会报错。

'abc'// SyntaxError: Unexpected token ILLEGAL

上面代码将一个字符串分成三行,JavaScript就会报错。

如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。

var longString = "Long /long /long /string";longString// "Long long long string"

上面代码表示,加了反斜杠以后,原来写在一行的字符串,可以分成多行书写。但是,输出的时候还是单行,效果与写在同一行完全一样。注意,反斜杠的后面必须是换行符,而不能有其他字符(比如空格),否则会报错。

连接运算符(+)可以连接多个单行字符串,将长字符串拆成多行书写,输出的时候也是单行。

var longString = 'Long ' + 'long ' + 'long ' + 'string';

如果想输出多行字符串,有一种利用多行注释的变通方法。

(function () { /*line 1line 2line 3*/}).toString().split('/n').slice(1, -1).join('/n')// "line 1// line 2// line 3"

上面的例子中,输出的字符串就是多行。

转义
反斜杠(/)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。

需要用反斜杠转义的特殊字符,主要有下面这些:

/0 null(/u0000) /b 后退键(/u0008) /f 换页符(/u000C) /n 换行符(/u000A) /r 回车键(/u000D) /t 制表符(/u0009) /v 垂直制表符(/u000B) /' 单引号(/u0027) /" 双引号(/u0022) / 反斜杠(/u005C)

上面这些字符前面加上反斜杠,都表示特殊含义。

console.log('1/n2')// 1// 2

上面代码中,/n表示换行,输出的时候就分成了两行。

反斜杠还有三种特殊用法。

(1)/HHH

反斜杠后面紧跟三个八进制数(000到377),代表一个字符。HHH对应该字符的Unicode码点,比如/251表示版权符号。显然,这种方法只能输出256种字符。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选