3

谁能解释一下这种奇怪的javascript行为?

+
// Rightfully gets a syntax error, because there are no operands

+ +
// Same as above

+ + ''
// Interpreted as 0

typeof(+ + '')
// Interpreted as "number"

+ + '' === 0
// Interpreted as true

所以换句话说, (++ '') 被计算为零。1)这在语法上是如何被允许的?2)为什么计算为零?

4

1 回答 1

7

元加号 ( +) 运算符将右侧转换为数字。

所以你有 0 ← 0 ← empty string

于 2013-08-05T18:46:00.170 回答