混淆有关字符串连接的JavaScript语句

时间:2014-12-17 20:43:22

标签: javascript node.js

我正在开发一个node.js网站,我制作了一个复制并粘贴错误,导致以下行(针对此问题进行了简化):

var x = "hi" + + "mom"

它没有崩溃,x = NaN。现在我已经修复了这个错误,我很好奇这里发生了什么,因为如果我删除+符号之间的空格我得到一个错误(SyntaxError:无效的增量操作数)

我的问题是:有些人可以向我解释声明中发生了什么,并且没有任何内容(+符号之间的空格)将其从错误更改为NaN?

PS。我不确定这应该在这里或programers.stackoverflow.com。如果我在错误的网站上发布,请告诉我。

1 个答案:

答案 0 :(得分:7)

它的解释如下:

var x = "hi" + (+"mom")

前缀+尝试将字符串强制转换为数字。 Number('mom')NaN,因此+'mom'也是NaN