javascript - JS 字符串与数字之间的类型转换

标签 javascript string type-conversion

我对 javascript 中的类型转换感到困惑。

var temp = "111"
temp = temp + 0 // temp is "1110" now 
temp = temp - 0 // temp is number , 111 

temp = "1110" - 0 // temp is number 1110

我很好奇是什么导致了这种两方面的差异。

抱歉,我忘记了赋值导致结果异常。

最佳答案

我对此表示怀疑

temp = temp - 0 // temp is number , 111 

产生您在那里提到的结果。请参阅http://jsbin.com/faquvobo/1/edit?js,output

您有一个观察错误(也许您实际上使用了 temp = 0 + temp;)。

<小时/>

一般说明:

+ 运算符已重载,而 - 运算符则未重载。

如果使用 + 运算符且其中一个操作数是字符串,则该操作数将转换为字符串并执行字符串串联(而不是加法)。

- 运算符仅针对数字定义,因此两个操作数都会先转换为数字,然后执行减法。

关于javascript - JS 字符串与数字之间的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25197207/

相关文章:

sql - 如何将varchar列值转换为int?

java - 如何在 Java-Selenium 中将 String "rgba(105, 54, 221, 1)"类型的对象转换为 Color?

javascript - 在搜索框中输入并重定向到另一个页面

javascript - 单击图标时未显示抽屉导航

javascript - 值未保存到数组中

python - 如何以更干净的方式进行多个字符串替换? - Python

java - 字符串数组到字符串

javascript - 附加后 onclick 无法正常工作

regex - 使用正则表达式将 S00 替换为 SOO

java - 动态字符串数组java