为什么Javascript中的整数加空格加字符串会导致数字和字符串的总和? (2 + + '22'= 24)

时间:2016-04-30 17:56:07

标签: javascript

为什么(2 + + '22')导致24而不是222,如果它是Javascript中的(2 + '22')?

1 个答案:

答案 0 :(得分:4)

当您使用unary plus operator

时,您的代码将按此执行
step 1: 2 + +'22' //string preceded by an 
                  //unary plus operator will be converted as a number.
step 2: 2 + 22
step 3: 24

一元加号运算符超过加法运算符highest precedence。因此,如上所述,它将首先进行评估。

此外,如果一元运算符无法将字符串转换为数字,则会返回NaN