摘要:JavaScript中的转义字符(转义序列)
介绍
转义字符是由反斜杠’'加字母或数字组合构成的字符组合。转义字符以反斜杠\
开头,它的作用是告知 JavaScript 解释器下一个字符是特殊字符。
转义字符的数字组合语法是 \uXXXX
,表示由4位十六进制数 XXXX 指定的 Unicode 字符。还有另外两种(不常用):
1、\xXX
:由 2 位十六进制数值 XX 指定的 Latin-1 字符
2、\XXX
:由 1~3 位八进制数值(000 到 377)指定的 Latin-1 字符
转义序列会被视为单个字符,字符串中的每个字符均可由一个转义序列表示。在一个正常字符前添加反斜杠,会忽略该反斜杠
常见转义字符
转义序列 | 代表字符(Unicode 字符值) |
---|---|
\0 | Null字符(\u0000) |
\b | 退格符(\u0008) |
\t | 水平制表符(\u0009) |
\n | 换行符(\u000A) |
\v | 垂直制表符(\u000B) |
\f | 换页符(\u000C) |
\r | 回车符(\u000D) |
\" | 双引号(\u0022) |
\' | 单引号(\u0027) |
\\ | 反斜杠(\u005C) |
行分隔符(\u2028) | |
段分隔符(\u2029) |
1 | var unicode = '\n'.charCodeAt(0) // 10 |
行终结符
换行符、回车符、行分隔符、段分隔符在 ES5 中被认为是行终结符,其他的折行字符都会被视为空白。像空白字符一样,行终结符可用于改善源文本的可读性,此外,它还对语法文法的行为有一定的影响。
在 JavaScript 中,字符串表达式中是不允许换行的。如果在字符串表达式中直接使用行终止符,都会导致报错。比如:
1 | var log = new Function("var a = '1\n23';console.log(a)"); |
因为在 Function 构造函数的实现中,首先会将函数体代码字符串进行一次 toString 操作,然后再检测代码字符串是否符合代码规范。因此,我们需要对 \n
等行终结符做处理:
1 | var log = new Function("var a = '1\\n23';console.log(a)"); |
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true