首页 > 解决方案 > 为什么“var name=42;” 创建一个字符串而不是一个数字?

问题描述

我刚刚读了一本关于 JavaScript 的网络漫画,看起来像个笑话:

>>> var x = 42;
>>> x+1;
43
>>> var name = 42;
>>> name+1;
"421"

事实证明,这不是玩笑,而是 JavaScript 的实际行为。为什么具有 namex和 name的变量name在这里表现不同?

有趣的是,Node.js 会产生除浏览器之外的其他结果:在 Firefox 和 Edge 中,结果name+1"421",但在 Node.js 中,结果是43

标签: javascript

解决方案


推荐阅读