我得到这个JavaScript错误在我的控制台:

未捕获SyntaxError:意外令牌非法

这是我的代码:

Var foo = 'bar';

正如你所看到的,这非常简单。它怎么会导致语法错误呢?


当前回答

我把所有的空间区域都改为&nbsp,就像这样,它工作起来没有问题。

Val.replace (" ", "&nbsp");

我希望它能帮助到一些人。

其他回答

如果你正在运行一个nginx + uwsgi安装流浪者,那么主要的问题是在一些答案中提到的发送文件的虚拟盒错误。然而,要解决这个问题,你必须在nginx和uwsgi中禁用sendfile。

在nginx.conf sendfile掉 Uwsgi应用程序/配置 ——disable-sendfile

为什么要在代码中寻找这个问题?甚至,如果它是复制粘贴。

如果你能看到,在同步文件夹保存文件后到底发生了什么-你会在文件末尾看到类似*****的东西。这和你的代码一点关系都没有。

解决方案。

如果你在vagrant box中使用nginx -添加到服务器配置:

sendfile off;

如果你在vagrant box中使用apache -添加到服务器配置:

EnableSendfile Off;

问题来源:VirtualBox Bug

如果您从另一个文档(如PDF)复制代码到控制台并试图运行它,也可能会发生这种情况。

我试图从我正在阅读的Javascript书中运行一些示例代码,很惊讶它不能在控制台中运行。

显然,从PDF中复制会在代码中引入一些意想不到的、非法的、看不见的字符。

当我在错误指向的行后有一个未结束的字符串时,我在chrome中得到了这个错误。关闭字符串后,错误消失了。

错误示例:

var file = files[i]; // SyntaxError: Unexpected token ILLEGAL

jQuery('#someDiv').innerHTML = file.name + " (" + formatSize(file.size) + ") "
    + "<a href=\"javascript: something('"+file.id+');\">Error is here</a>";

示例无错误:

var file = files[i]; // No error

jQuery('#someDiv').innerHTML = file.name + " (" + formatSize(file.size) + ") "
    + "<a href=\"javascript: something('"+file.id+"');\">Error was here</a>";

我把所有的空间区域都改为&nbsp,就像这样,它工作起来没有问题。

Val.replace (" ", "&nbsp");

我希望它能帮助到一些人。