意外令牌分割代码行时的非法错误
Unexpected token ILLEGAL error when lines of code are split
我只是在摆弄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
为什么?为什么它是当我吐代码成多行错误发生?有人能解释一下吗?这是我唯一的问题。
谢谢。
Alex-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引擎不允许在字符串文本中使用回车符。所以,如果你像在第二个例子中那样添加回车,引擎会到达行尾,但找不到字符串char的结尾。
你可以很容易地像这样修改你的例子:
'<span style="margin-left: ' + bubble.getStartOffset() + 'px; width: '
+ bubble.getWidth() + 'px; " '
+ 'class="bubble bubble-' + (cur.type || 'default' ) + '"></span>',
相关文章:
- 如何解决这种情况下的非法调用类型错误
- 未捕获的语法错误:意外的令牌非法?看起来不错
- 未捕获的类型错误:非法调用:模态形式的错误
- 非法调用错误 jquery
- Ajax 帖子未捕获语法错误:意外令牌非法
- 调用module.exports上的函数时发生CommonJS非法调用错误
- 为什么我得到“;非法字符语法错误未终止的字符串文字“;当我使用javascript时
- 解析有效的 JSON 得到“语法错误:意外令牌非法”
- 下划线模板错误 = 未捕获的语法错误:意外令牌非法
- 非法返回语句错误
- 语法错误:意外的令牌非法设置变量
- 为什么这会引发未捕获的类型错误:非法调用
- 未捕获的语法错误:道场中意外的令牌非法
- 未捕获的语法错误:意外令牌非法 - 拆分文件时
- jQuery 中的非法字符错误 - 无论函数内容如何
- 动态添加HTML内容时出现意外令牌非法错误
- 意外令牌分割代码行时的非法错误
- 试图追加时的非法错误
- jQuery Uncaught SyntaxError:意想不到的令牌在Asp.Net页面加载时的非法错误
- 带有意外令牌的奇怪行为非法错误