【发布时间】:2016-08-22 15:01:32
【问题描述】:
假设我有一个字符串,它的值已经是一个数字,例如var str = "1234"现在我想把它转换成数字。
到目前为止,我在互联网上看到了两个技巧,
- 使用一元
+:var num = +str - 使用乘法运算符
*:var num = str*1
我想知道一般来说哪个更好。
正如我从此处接受的答案的评论中看到的那样:Converting Json Results to a Date,似乎最好避免使用*1。这是真的吗?背后的原因是什么?
【问题讨论】:
-
对于整数,parseInt() 会更好
-
一元加号根据定义旨在将值转换为数字,因此它比乘以 1 引入另一个操作数在语义上更正确。 @EricSo - parseInt() 只有当你特别想忽略字符串中的任何非数字数据或小数位值时才会更好 - 否则它 worse 比一元加 因为 它忽略了那些东西。
标签: javascript semantics