我在控制台上收到此JavaScript错误:
Uncaught SyntaxError: Unexpected token ILLEGAL
这是我的代码:
var foo = 'bar';
如您所见,它非常简单。它怎么会引起语法错误?
当JavaScript解释器解析代码时,它会分成称为“令牌”的部分。当令牌不能分类为四种基本令牌类型之一时,在大多数实现中它将被标记为“ILLEGAL”,并且会引发此错误。
例如,如果您尝试运行带有流氓@
字符,错放的花括号,括号,“智能引号”,未正确括起来的单引号(例如this.run('dev1)
)等js文件,则会引发相同的错误。
许多不同的情况都可能导致此错误。但是,如果您没有明显的语法错误或非法字符,则可能是由看不见的非法字符引起的。这就是答案。
分号后的代码中有一个不可见的字符。这是UnicodeU+200B
零宽度空格字符(又名ZWSP
HTML实体​
)。已知该字符会导致Unexpectedtoken ILLEGAL
JavaScript语法错误。
我不能肯定地说,但是我的赌注是jsfiddle。如果从那里粘贴代码,则很可能包含一个或多个U+200B
字符。看来该工具使用该字符来控制长字符串的自动换行。
在最新的jsfiddle更新之后,它现在像codepen一样将字符显示为红点显然_,它也不再U+200B
自己插入字符,因此此问题从现在开始应该不那么频繁了。
****由于 VirtualBox中的错误,Vagrant有时也会引起此问题。解决方案是sendfileoff;
在您的nginx配置中设置,或者EnableSendfile Off
使用Apache。
据报道,从Chrome开发人员工具粘贴的代码可能包含该字符,但我无法在当前版本(OSX上为22.0.1229.79)上重现该字符。
角色是不可见的,我们怎么知道它在那里?您可以要求编辑器显示不可见的字符。大多数文本编辑器都具有此功能。例如,Vim默认情况下显示它们,并且ZWSP
显示为<u200b>
。您也可以在线调试它:jsbin在其代码窗格上将字符显示为红点(但在保存并重新加载页面后似乎将其删除)。CodePen.io还将其显示为点,并且即使保存后也将其保留。
我在ECMAScript规范(版本3和5.1)中没有提到该特定字符。当前版本在第7.1节中提到了相似的字符(U+200C
和U+200D
),该字符表示“在注释,字符串文字和正则表达式文字之外”时应将它们视为s。例如,这些字符可能是变量名的一部分(并且确实有效)。IdentifierPart``var x\u200c;
第7.2节列出了有效的空格字符(例如制表符,空格,不间断空格等),并隐约提及将任何其他Unicode“空格分隔符”(类别“
Zs”)都视为空格。我可能不是讨论这方面规范的最佳人选,但是在我看来,U+200B
应该根据实际情况将其视为空白,而实际上,实现(至少是Chrome和Firefox)似乎将它们视为意外情况。令牌(或其中一部分),导致语法错误。
我在我的控制台上得到这个JavaScript错误: 未捕获的语法错误:意外令牌非法 这是我的代码: 如你所见,这非常简单。它怎么会导致语法错误?
问题内容: 我正在生成一个罐子,将其放入商业软件产品中。该jar符合商业软件的api,并依赖于第二个jar,该jar包含(除其他事项外)从XSD生成的一组POJO。但是,当我插入它时尝试实例化JAXBContext时,它失败。 我得到: 我的XSD(为简洁起见)如下所示: 我认为问题可能出在“ xsd:element”级别的类不存在,但是即使我将XJC设置为创建MyClass并且我已经验证MyCl
问题内容: 我使用io.Copy()复制文件,大约700Mb,但这会导致内存不足 错误信息如下: 我为buf分配了足够的内存,这导致bodyWriter.CreateFormFile()中的内存不足 问题答案: 这是因为您正在“复制”到,这是内存中的缓冲区,从而迫使Go尝试分配与整个文件一样大的内存块。 根据您的使用情况,您似乎正在尝试通过HTTP流式传输文件?在这种情况下,请勿将传递给,而是直接
问题内容: 与多个用户一起测试我的应用程序时,我遇到了ORA-00060死锁错误。我不确定如何确定此错误的原因,因此,如果有人可以帮助我,将不胜感激。 我查看了为此事件生成的跟踪文件,它显示了导致此问题的查询: 它也产生了这个: 我如何使用以上信息来找出导致问题的原因?TABLE_A或TABLE_B上都没有任何未索引的外键(我相信这通常是导致这种类型错误的原因)。 当我运行此查询时: 我在完全不同
问题内容: 什么会导致套接字命令出错?套接字设置为。它在大多数时间都有效,但偶尔会出现此错误。插槽的接收端似乎工作正常。 我知道这不是很详细,但我只是在寻找一般想法。谢谢! 问题答案: 是与相对应的错误消息,这意味着该操作将被阻止,但请求了非阻止操作。对于,这可能是由于以下原因之一: 显式地将文件描述符标记为非阻塞;要么 将旗帜传递给; 要么 使用套接字选项设置发送超时。
本文向大家介绍Python 没有main函数的原因,包括了Python 没有main函数的原因的使用技巧和注意事项,需要的朋友参考一下 毫无疑问 Python 中没有所谓的 main 入口函数,但是网上经常看到一些文章提“Python 的 main 函数”、“建议写 main 函数”…… 有些人是知情的,他的意图可能是模仿那些正宗的 main 函数,但还有不少人明显是被误导了(或自己误解了),就写