我正在开发一个node.js网站,我制作了一个复制并粘贴错误,导致以下行(针对此问题进行了简化):
var x = "hi" + + "mom"
它没有崩溃,x = NaN。现在我已经修复了这个错误,我很好奇这里发生了什么,因为如果我删除+符号之间的空格我得到一个错误(SyntaxError:无效的增量操作数)
我的问题是:有些人可以向我解释声明中发生了什么,并且没有任何内容(+符号之间的空格)将其从错误更改为NaN?
PS。我不确定这应该在这里或programers.stackoverflow.com。如果我在错误的网站上发布,请告诉我。
答案 0 :(得分:7)
它的解释如下:
var x = "hi" + (+"mom")
前缀+
尝试将字符串强制转换为数字。 Number('mom')
为NaN
,因此+'mom'
也是NaN
。