为什么`function test(){} + 1;`的输出是1?

为什么下面代码的输出是1

function test(){} + 1; // output: 1


DIEA
浏览 59回答 2
2回答

缥缈止盈

由于自动分号插入,该代码实际上被处理为:function test(){}; + 1;那是一元加运算符,而不是加法运算符。

紫衣仙女

这里的函数 test() 或 {} 不是 Object,它的 en 空语句和 JS 无法将对象转换为原始值并找到安全路线并将此语句值转换为 false。{} + 1 = 1 because (false + 1) = always 1.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript