JavaScript&#c; +运算符的行为不一致

时间:2015-08-06 10:48:01

标签: javascript

为什么会这样

2 + + 3

返回5,但是

'2837363' + + '/'

返回

"2837363NaN"?即使是' /'迷路了。

为什么编程语言会接受这种语法而不会抛出语法错误?什么时候假,空位评价为0(第1个例子),何时评价为NaN(第2个例子)?

1 个答案:

答案 0 :(得分:4)

使用+预先添加变量意味着类型强制为数字类型。

+ 5 => 5
+ '5' => 5
+'a' => NaN
+'/' => NaN

当您执行+'/'时,结果为NaN