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