javascript - 拆分代码行时出现意外标记 ILLEGAL 错误

标签 javascript

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

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

当我生成 HTML 并将其分成两行时,一切正常,但如果我执行以下操作将 HTML 分成 3 行,如下所示:

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

我收到以下错误:

Uncaught SyntaxError: Unexpected token ILLEGAL

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

谢谢。

亚历克斯-z。

最佳答案

好吧,呃,您将代码拆分在字符串文字的中间。你不能随心所欲地分割——语言是有规则的。就好像您将它拆分在 getStartOffset 中间,将 getS 放在一行上,将 tartOffset 放在另一行上 - 这完全是错误的。

原始拆分在表达式中 - 请注意第二行如何以 + 开头,并且不是在字符串文字中。

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

'<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 - 拆分代码行时出现意外标记 ILLEGAL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32690940/

相关文章:

javascript - includeJSFooter 和在模板中实现 JS 有什么区别? (打字3)

javascript - Protractor 如何测试列表中的最后一个项目类

javascript - 如何在Angularjs中显示输入的文件名?

javascript - Rails 上带有 selenium 的 chromedriver

javascript - 在 Javascript 中,显示的不是值而是变量名称

javascript - 如何使用 Eclipse 调试 Protractor 脚本?

javascript - Rails 4 中汉堡包 jquery 按钮代码在哪里?

javascript - d3 中的散点图点未渲染

javascript - 如何从 Android Java 中无延迟地调用 WebView Javascript 中的函数?

JavaScript 表单验证