繁体   English   中英

未捕获的SyntaxError:意外的令牌实例(使用Chrome Javascript控制台)

[英]Uncaught SyntaxError: Unexpected token instanceof (with Chrome Javascript console)

输入Chrome js控制台时,我对以下代码感到惊讶:

{} instanceof Object

导致此错误消息:

未捕获的SyntaxError:意外的标记instanceof

任何人都可以告诉我为什么会这样,以及如何解决它?

例如 ,语法是:

RelationalExpression instanceof ShiftExpression

根据ECMA-262§11.8

标点符号{在语句的开头被视为块的开头,因此以下}关闭块并结束语句。

下面的instanceof运算符是下一个语句的开头,但它不能在开头,因为它必须以RelationalExpression开头,因此解析器会出错。

您需要通过在语句的开头添加其他内容来强制{}被视为对象文字,例如

({}) instanceof Object

{} ,在该上下文中,是一个 ,而不是一个对象文字。

您需要更改上下文(例如,将其包装在() )以使其成为对象文字。

({}) instanceof Object;

如果你试试这个:

var a = {}
a instanceof Object

输出true ,这是预期的输出。

但是,在你的情况下

{} instanceof Object

以上并不是真的。

后者是不相同的第一个。 在第一种情况下,我们创建一个对象文字,而在第二种情况下,我们不创建。 因此,您收到此错误。

尝试

var p = {}
p instanceof Object

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM