表达类型(数量)

时间:2015-01-19 09:43:41

标签: javascript

以下表达式在JavaScript中给出了特殊的结果。

typeof (5 + "7")   // Gives string
typeof (5 - "7")   // Gives number

如何将第一个表达式的结果作为数字类型?

如果没有明确地将7转换为数字,有没有办法做到这一点?

请澄清。

4 个答案:

答案 0 :(得分:4)

首先尝试将字符串解析为整数。您可以使用+隐式解析字符串,也可以使用parseInt解析为整数。

typeof (5 + +"7") 

typeof (5 + parseInt("7")) 

答案 1 :(得分:1)

是的,有一种方法可以做到这一点,而无需将字符串显式转换为数字,而是通过隐式转换字符串。例如,您可以使用+运算符,这会导致将字符串隐式转换为数字,因为它只能应用于数字:

typeof (5 + +"7")

但这不是非常易读的代码。您最好使用显式转换:

typeof (5 + parseFloat("7"))

答案 2 :(得分:0)

javascript中的加号将数字加在一起,但它也会连接字符串,当一个的值加在一起是一个字符串时,后者就完成了,无论其他值是什么

减号减去,你不能从字符串中减去一个字符串,所以它唯一的意思就是减去数字

所以换句话说

5 + "7" === "57" // string
5 + 7   === 12   // number
5 - "7" === -2   // number

所以不,您必须将字符串转换为数字才能将其添加到另一个数字

5 - ( parseInt("7", 10) ) === -2   // number
5 - ( +"7" ) === -2   // number

答案 3 :(得分:0)

通过将字符串转换为数字

,您能够 的唯一方法
typeof (5 + parseInt("7")) 

N.b。如果你使用加号运算符,则乘法/除/减工作的方式不同,并将字符串类型转换为数字(除非是NaN)