为什么Javascript中有1 + + + 1 = 2
?
这种行为叫什么?它在某处记录了吗?
感谢。
答案 0 :(得分:6)
这是因为间距。一元运算符+
可以根据需要多次应用,因此表达式变为:
1 + (+(+1))
即,
1 + 1
。通常情况下,您似乎无法执行此操作,即1 + ++ 1
将失败,但这是因为两个+
被解析为前缀增量,在未在变量上使用时无效。以同样的方式,1 +++ 1
失败,因为它被解析为1++ + 1
,您无法增加1
。
答案 1 :(得分:1)
它被解析为......
1 + (+ (+ 1))
......显然评估为两个。