在JavaScript中存在多行字符串的问题。

5

这是有效的:

alert('foo\
         bar'
)

但是这会导致语法错误:
t='test';
alert('<tr><td><b>' + t + '</b></td>\ 
                    <td></td><td>')

错误信息如下:

SyntaxError: unterminated string literal

它们两个应该是相同的东西,为什么第一个可以工作,而第二个失败了?

2
你的反斜杠后面可能有多余的空格? - Luchian Grigore
1个回答

3

在第二个示例中,您在反斜杠后面有一个尾随空格。


顺便提一下,在编程社区中,任何代码中的尾随空格几乎都是被普遍不赞成的。许多编辑器会将其标记为错误,而不考虑上下文。(唯一的例外是完全由空格组成的行。) - Daniel Brockman
@J.J. 不,我在第一个例子中没有看到任何尾随空格。 - Daniel Brockman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接