未终止的字符串文字

VIK*_*ASH 25 javascript

以下代码:

var str= "<strong>English Comprehension<\/strong>
                    <br\/>
                    <ul>
                    <li>  Synonyms/Antonyms/Word Meaning (Vocabulary)<\/li>
                    <li>  Complete the Sentence (Grammar)<\/li>
                    <li>  Spot error/Correct sentence (Grammar/sentence construction)<\/li>
                    <li>  Sentence Ordering (Comprehension skills)<\/li>
                    <li>  Questions based on passage (Comprehension skills)<\/li>
                    <\/ul>
                    <br\/>";
Run Code Online (Sandbox Code Playgroud)

给出错误:"未终止的字符串文字".有什么问题?

Gab*_*ley 38

你不能在javascript中的字符串之间拆分字符串.你可以通过使每一行成为一个单独的字符串并将它们与加号连接起来来实现相同的可读性,如下所示:

var str = "<strong>English Comprehension</strong>"
    + "<br />"
    + "<ul>"
    + "<li>Synonyms/Antonyms/Word Meaning (Vocabulary)</li>"
Run Code Online (Sandbox Code Playgroud)

等等...


eeq*_*eeq 18

如果在JavaScript中使用多行字符串,则必须在每行的末尾使用"\":

var str = "abc\
def\
ghi\
jkl";
Run Code Online (Sandbox Code Playgroud)

如果你的代码是缩进的,也要注意额外的空格.


Sha*_*ard 11

我建议以不同的方式做到这一点......用HTML隐藏元素,例如

<div id="myHiddenDiv" style="display: none;"><strong>English Comprehension</strong>
<br />
...
</div>
Run Code Online (Sandbox Code Playgroud)

然后只需阅读其内部HTML:

var str = document.getElementById("myHiddenDiv").innerHTML;
Run Code Online (Sandbox Code Playgroud)

最大的好处是你不必用文字字符串来对抗你的方式,而且编辑要容易得多,缺点是你要为DOM添加另一个元素.你的选择.:)

  • 干杯@VIKASH,在这种情况下可以通过单击左侧的"V"图标来接受答案..对于您的其他问题也是如此 - 接受正确的答案是这个地方的工作原理.:) (2认同)

Don*_*Don 6

在Javascript中编写多行字符串不是最佳实践.

但是,您可以使用\终结符执行此操作:

var str= "<strong>English Comprehension<\/strong>\
                <br\/>\
                <ul>\
                <li>  Synonyms/Antonyms/Word Meaning (Vocabulary)<\/li>\
                <li>  Complete the Sentence (Grammar)<\/li>\
                <li>  Spot error/Correct sentence (Grammar/sentence construction)<\/li>\
                <li>  Sentence Ordering (Comprehension skills)<\/li>\
                <li>  Questions based on passage (Comprehension skills)<\/li>\
                <\/ul>\
                <br\/>";
Run Code Online (Sandbox Code Playgroud)

请注意,尾随空格是字符串的一部分,因此最好除去它们,除非它们是故意的:

var str= "<strong>English Comprehension<\/strong>\
<br\/>\
<ul>\
<li>  Synonyms/Antonyms/Word Meaning (Vocabulary)<\/li>\
<li>  Complete the Sentence (Grammar)<\/li>\
<li>  Spot error/Correct sentence (Grammar/sentence construction)<\/li>\
<li>  Sentence Ordering (Comprehension skills)<\/li>\
<li>  Questions based on passage (Comprehension skills)<\/li>\
<\/ul>\
<br\/>";
Run Code Online (Sandbox Code Playgroud)