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

var x = "hi" + + "mom"

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

我的问题是:有人可以向我解释语句中发生了什么以及没有任何东西(+ 号之间的空格)将其从错误更改为 NaN?

附注。我不确定这应该放在这里还是 programers.stackoverflow.com。如果我在错误的网站上发帖,请告诉我。

最佳答案

它被这样解释:

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

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

关于javascript - 关于字符串连接的令人困惑的 JavaScript 语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27534518/

10-11 14:10