这可能发生在预期回调函数时,但是代码返回对象。我的具体情况是function
传递给setTimeout
前new
,我只理解了它得益于这样的回答:https://stackoverflow.com/a/31502293(火狐版本:https://stackoverflow.com/a/20218837)
setTimeout
expects the first parameter to be a function
注意:在JSON缺少报价有时会出现此错误会导致逗号被视为前面字符串的一部分,例如:['test1,'test2']
。
example.html的重现:
<script>
setTimeout(new function() { document.write('test') },0);
</script>
而是点击右侧的VM61:1
(数量自动递增)链接,点击lef-灰色下拉箭头/图标在错误图标和单词之间的手边显示调用堆栈,然后单击列表中的第一个链接(请参阅下面的屏幕截图)。
这会在调用堆栈上跳一帧,并且通常会突出显示发生错误的整个行。它不会精确定位错误的确切位置,但请仔细阅读此处,了解可能在预期回调函数时返回对象的任何内容。
取出new
和错误消失!
PS。出现在Internet Explorer 10此错误(除非它在兼容性模式下运行)作为
SCRIPT1007: Expected ']'
example.html, line 1 character 9
而且在Firefox 56
SyntaxError: missing ] after element list[Learn More] example.html:2:8
你在哪里看到这个错误:在浏览器控制台或在您的应用程序日志? –
我在浏览器控制台中看到了这一点。 –
你能粘贴完整控制台错误吗? –