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中的意思非常糟糕。谢谢你的回答!