问答详情
源自:2-2 [JavaScript]运算符

为什么 {} instanceof Object语法错误?

必须先var x={};

x instanceof 才行,为什么不能{}instanceof 

提问者:bigggge 2016-09-02 14:04

个回答

  • 1773141217
    2016-09-02 16:02:52
    已采纳

    因为解析的原因。如果直接以{}开头会直接被误认为是一个块语句而不是一个空对象。那么instanceof的左操作数就不对了。所以才有语法错误。类似的如果直接用function(){}也是不行的因为会被解析成函数声明。不过就算不先定义给他们加个括号也可以解决了。因为括号里先计算了语法上就解释通了。

  • 和木雪3217235
    2016-09-02 15:35:15

    nstanceof 判断左边的“对象”是不是右边的“类”的实例。返回boolean.