--- id: 56533eb9ac21ba0edf2244b6 title: 字符串中的转义序列 challengeType: 1 videoUrl: 'https://scrimba.com/c/cvmqRh6' forumTopicId: 17567 dashedName: escape-sequences-in-strings --- # --description-- 引号不是字符串中唯一可以被转义的字符。使用转义字符有两个原因:首先是可以让你使用无法输入的字符,例如退格。其次是可以让你在一个字符串中表示多个引号,而不会出错。我们在之前的挑战中学到了这个。
代码 | 输出 |
---|---|
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
\b | 退格 |
\f | 换页符 |
FirstLine你需要使用转义字符正确地插入特殊字符,确保间距与上面文本一致并且单词或转义字符之间没有空格。 像这样用转义字符写出来: "FirstLine```换行符``制表符``反斜杠```SecondLine`换行符`ThirdLine" # --hints-- `myStr`不能包含空格。 ```js assert(!/ /.test(myStr)); ``` `myStr`应该包含字符串`FirstLine`, `SecondLine` and `ThirdLine` (记得区分大小写)。 ```js assert( /FirstLine/.test(myStr) && /SecondLine/.test(myStr) && /ThirdLine/.test(myStr) ); ``` `FirstLine`后面应该是一个新行`\n`。 ```js assert(/FirstLine\n/.test(myStr)); ``` `myStr`应该包含制表符`\t`并且制表符要在换行符后面。 ```js assert(/\n\t/.test(myStr)); ``` `SecondLine`前面应该是反斜杠`\\`。 ```js assert(/\SecondLine/.test(myStr)); ``` `SecondLine`和`ThirdLine`之间应该是换行符。 ```js assert(/SecondLine\nThirdLine/.test(myStr)); ``` `myStr` 应该只包含介绍里面展示的字符串。 ```js assert(myStr === 'FirstLine\n\t\\SecondLine\nThirdLine'); ``` # --seed-- ## --after-user-code-- ```js (function(){ if (myStr !== undefined){ console.log('myStr:\n' + myStr);}})(); ``` ## --seed-contents-- ```js var myStr; // Change this line ``` # --solutions-- ```js var myStr = "FirstLine\n\t\\SecondLine\nThirdLine"; ```
\SecondLine
ThirdLine