为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

DIEA 2022-10-27 15:34:28
为什么下面代码的输出是1function test(){} + 1; // output: 1
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

由于自动分号插入,该代码实际上被处理为:

function test(){}; + 1;

那是一元加运算符,而不是加法运算符


查看完整回答
反对 回复 2022-10-27
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

这里的函数 test() 或 {} 不是 Object,它的 en 空语句和 JS 无法将对象转换为原始值并找到安全路线并将此语句值转换为 false。

{} + 1 = 1 because (false + 1) = always 1.


查看完整回答
反对 回复 2022-10-27
  • 2 回答
  • 0 关注
  • 51 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信