64 lines
1.8 KiB
Markdown
64 lines
1.8 KiB
Markdown
---
|
|
id: 587d7b84367417b2b2512b37
|
|
title: 捕捉單引號和雙引號的混合用法
|
|
challengeType: 1
|
|
forumTopicId: 301188
|
|
dashedName: catch-mixed-usage-of-single-and-double-quotes
|
|
---
|
|
|
|
# --description--
|
|
|
|
JavaScript 允許使用單引號(`'`)和雙引號(`"`)聲明字符串。 決定使用哪一個通常看個人偏好,但有一些例外。
|
|
|
|
如果字符串中有縮寫或存在一段帶引號的文本,你就會明白爲什麼 JavaScript 允許兩種引號了。 請注意,不要提前用引號結束字符串,這會導致語法錯誤。
|
|
|
|
下面是混合使用引號的一些示例:
|
|
|
|
```js
|
|
const grouchoContraction = "I've had a perfectly wonderful evening, but this wasn't it.";
|
|
const quoteInString = "Groucho Marx once said 'Quote me as saying I was mis-quoted.'";
|
|
const uhOhGroucho = 'I've had a perfectly wonderful evening, but this wasn't it.';
|
|
```
|
|
|
|
前兩項是正確的,但第三項是不正確的。
|
|
|
|
當然,只使用一種引號也是可以的。 可以使用反斜槓(`\`)來轉義字符串內的引號:
|
|
|
|
```js
|
|
const allSameQuotes = 'I\'ve had a perfectly wonderful evening, but this wasn\'t it.';
|
|
```
|
|
|
|
# --instructions--
|
|
|
|
修復字符串,使其對 `href` 值使用不同的引號,或者轉義現有的引號。 在整個字符串周圍保留雙引號。
|
|
|
|
# --hints--
|
|
|
|
你應通過更改或轉義來修復 `href` 的值 `#Home` 周圍的引號。
|
|
|
|
```js
|
|
assert(code.match(/<a href=\s*?('|\\")#Home\1\s*?>/g));
|
|
```
|
|
|
|
你應該在整個字符串外圍保留雙引號。
|
|
|
|
```js
|
|
assert(code.match(/"<p>.*?<\/p>";/g));
|
|
```
|
|
|
|
# --seed--
|
|
|
|
## --seed-contents--
|
|
|
|
```js
|
|
let innerHtml = "<p>Click here to <a href="#Home">return home</a></p>";
|
|
console.log(innerHtml);
|
|
```
|
|
|
|
# --solutions--
|
|
|
|
```js
|
|
let innerHtml = "<p>Click here to <a href=\"#Home\">return home</a></p>";
|
|
console.log(innerHtml);
|
|
```
|