Javascript 拆分代码行时出现意外的令牌非法错误

Javascript 拆分代码行时出现意外的令牌非法错误,javascript,Javascript,我只是在玩弄的源代码(请参见具体的一行),遇到了一个小错误,请参见下面的代码行: '<span style="margin-left: ' + bubble.getStartOffset() + 'px; width: ' + bubble.getWidth() + 'px; " class="bubble bubble-' + (cur.type || 'default' ) + '"></span>', ”, 当

我只是在玩弄的源代码(请参见具体的一行),遇到了一个小错误,请参见下面的代码行:

            '<span style="margin-left: ' + bubble.getStartOffset() + 'px; width: ' 
            + bubble.getWidth() + 'px; " class="bubble bubble-' + (cur.type || 'default' ) +  '"></span>',
”,
当我生成HTML并将其拆分为2行时,一切正常,但如果我执行以下操作,即将HTML拆分为3行,如下所示:

            '<span style="margin-left: ' + bubble.getStartOffset() + 'px; width: ' 
            + bubble.getWidth() + 'px; " 
            class="bubble bubble-' + (cur.type || 'default' ) +  '"></span>',
”,
我得到以下错误:

未捕获的语法错误:意外标记非法

为什么??为什么当我将代码吐到多行时会出现错误?有人能解释一下吗?那将是我唯一的问题

多谢各位


Alx-Z.

嗯,DUH,你在字符串文字中间分割代码。你不能随心所欲地拆分,语言是有规则的。就好像你在代码< GETStaskOffice < /Cord>的中间将它拆分为“代码”>在一行上获得,而在另一个代码中<代码> TARTROBOS/<代码>,它完全是错误的。 最初的拆分在表达式中-请注意第二行如何以

+
开头,而不是字符串文本

正确的分割应该是这样的:

'<span style="margin-left: ' + bubble.getStartOffset() + 'px; width: ' 
+ bubble.getWidth() + 'px; " class="bubble bubble-' 
+ (cur.type || 'default' ) +  '"></span>',
”,
如果需要在字符串文字中间分裂,则需要结束并追加另一个:

'<span style="margin-left: ' + bubble.getStartOffset() + 'px; width: ' 
+ bubble.getWidth() + 'px; " '
+ 'class="bubble bubble-' + (cur.type || 'default' ) +  '"></span>',
”,

默认情况下,javascript引擎不允许字符串文本形式的cariage返回。因此,如果您在第二个示例中添加了一个cariage返回,那么引擎会在行的末尾添加逗号,但找不到字符串char的结尾

您可以像这样轻松地修复示例:

'<span style="margin-left: ' + bubble.getStartOffset() + 'px; width: ' 
+ bubble.getWidth() + 'px; " '
+ 'class="bubble bubble-' + (cur.type || 'default' ) +  '"></span>',
”,

因为浏览器具有足够的容忍度,可以接受换行符作为代码行的结尾。在你的例子中,声明的字符串没有正确闭合。谢谢,你的名字在印度语LOL中的意思非常糟糕。谢谢你的回答!