纯粹是好奇心,但为什么Chrome(31)在从JS控制台执行(无效)语句SyntaxError: Unexpected token }
时会引发void
?
我理解JS引擎应该引发语法错误 - void
需要一个参数。我不明白}
与它有什么关系。
使用javascript:void
或在网页中执行相同的无效声明时,会产生更明智的SyntaxError: Unexpected end of input
。
答案 0 :(得分:4)
如果您在控制台中运行debugger;
语句,则会看到:
您的代码包含在with(console ...)
块内。意外的}
是关闭块的debugger;
。用void
在没有参数的情况下将{{1}}替换为{{1}},您可以看到如何获得该错误。