VM[number] 文件导致 Uncaught SyntaxError: Unexpected identifier

phu*_*win 5 javascript jquery parsing twitter-bootstrap angularjs

Uncaught SyntaxError: Unexpected identifier从文件VM3154:1.
使用 Parse 用户登录后出现错误。我尝试在我的服务器中找到该文件,但找不到该文件。这个文件只有一行代码:

[object Object]
Run Code Online (Sandbox Code Playgroud)

有谁知道这个文件是什么?它有什么作用?

每次使用 Parse User 功能登录时,数字都会增加。

我的网站使用 jQuery、AngularJS、Parse 和 Bootstrap。

use*_*430 4

当需要回调函数但代码返回对象时,可能会发生这种情况。我的具体情况是在传递给new之前,我只是通过这个答案才弄清楚:/sf/answers/2205160541/(Firefox版本: https: //stackoverflow.com/a/20218837functionsetTimeout

setTimeout期望第一个参数是一个函数

注意:有时,当 JSON 中缺少引号导致逗号被视为前面字符串的一部分时,就会出现此错误,例如:['test1,'test2']

要重现的Example.html:

<script>
setTimeout(new function() { document.write('test') },0);
</script>
Run Code Online (Sandbox Code Playgroud)

不要单击VM61:1右侧的(数字自动递增)链接,而是单击左侧错误图标和Uncaught SyntaxError显示调用堆栈的文字之间的灰色下拉箭头/图标,然后单击第一个列表中的链接(请参阅下面的截屏视频)。

这将在调用堆栈中向上跳转一帧,并且通常会突出显示发生错误的整行。它不会查明错误的确切位置,但请仔细检查此处是否有任何在需要回调函数时可能返回对象的内容。

截屏视频:Chrome 未捕获语法错误:意外的标识符 VM

删除new,错误就会消失!

附言。此错误出现在 Internet Explorer 10 中(除非它在兼容模式下运行):

SCRIPT1007: Expected ']'
example.html, line 1 character 9
Run Code Online (Sandbox Code Playgroud)

在 Firefox 56 中为

SyntaxError: missing ] after element list[Learn More]  example.html:2:8
Run Code Online (Sandbox Code Playgroud)