Javascript 表达式类型(数字)
以下表达式在JavaScript中给出了特殊的结果Javascript 表达式类型(数字),javascript,Javascript,以下表达式在JavaScript中给出了特殊的结果 typeof (5 + "7") // Gives string typeof (5 - "7") // Gives number 如何以数字类型获得第一个表达式的结果 有没有办法在不显式地将7转换为数字的情况下做到这一点 请澄清。javascript中的加号将数字加在一起,但它也将字符串连接起来,当一个被加在一起的值是一个字符串时,不管其他值是什么,后一个值都会被执行 减号减法,不能从字符串中减去字符串,所以它的唯一含义是减去数字
typeof (5 + "7") // Gives string
typeof (5 - "7") // Gives number
如何以数字类型获得第一个表达式的结果
有没有办法在不显式地将7转换为数字的情况下做到这一点
请澄清。javascript中的加号将数字加在一起,但它也将字符串连接起来,当一个被加在一起的值是一个字符串时,不管其他值是什么,后一个值都会被执行 减号减法,不能从字符串中减去字符串,所以它的唯一含义是减去数字 换句话说
5 + "7" === "57" // string
5 + 7 === 12 // number
5 - "7" === -2 // number
因此,不,您必须将字符串转换为一个数字,才能将其添加到另一个数字
5 - ( parseInt("7", 10) ) === -2 // number
5 - ( +"7" ) === -2 // number
javascript中的加号将数字加在一起,但它也连接字符串,当被加在一起的值中有一个是字符串时,不管其他值是什么,都会执行后一个字符串 减号减法,不能从字符串中减去字符串,所以它的唯一含义是减去数字 换句话说
5 + "7" === "57" // string
5 + 7 === 12 // number
5 - "7" === -2 // number
因此,不,您必须将字符串转换为一个数字,才能将其添加到另一个数字
5 - ( parseInt("7", 10) ) === -2 // number
5 - ( +"7" ) === -2 // number
唯一的方法是将字符串转换成一个数字
typeof (5 + parseInt("7"))
注意:如果使用加号运算符,则乘法/除法/减法的工作方式不同,并将字符串类型转换为数字(NaN除外)这是通过将字符串转换为数字来实现的唯一方法
typeof (5 + parseInt("7"))
注意:如果使用加号运算符,则乘法/除法/减法的工作方式不同,并将字符串类型转换为数字(除非为NaN)尝试这种方法,首先将字符串解析为整数。您可以使用
+
隐式解析字符串,也可以使用parseInt
解析为整数
typeof (5 + +"7")
或
尝试以下方法,首先将字符串解析为整数。您可以使用
+
隐式解析字符串,也可以使用parseInt
解析为整数
typeof (5 + +"7")
或
是的,有一种方法不需要显式地将字符串转换为数字,也就是隐式地转换字符串。例如,您可以使用
+
运算符,这将导致字符串隐式转换为数字,因为它只能应用于数字:
typeof (5 + +"7")
不过,这不是非常可读的代码。您最好进行显式转换:
typeof (5 + parseFloat("7"))
是的,有一种方法不需要显式地将字符串转换为数字,也就是隐式地转换字符串。例如,您可以使用
+
运算符,这将导致字符串隐式转换为数字,因为它只能应用于数字:
typeof (5 + +"7")
不过,这不是非常可读的代码。您最好进行显式转换:
typeof (5 + parseFloat("7"))
注意:
+
运算符不会将字符串解析为整数,它会导致将字符串隐式转换为浮点数parseInt(“7.9”)
返回7
,而+“7.9”
返回7.9
@Guffa感谢您提供的信息。今天学到的新东西注意:+
运算符不会将字符串解析为整数,它会将字符串隐式转换为浮点数parseInt(“7.9”)
返回7
,而+“7.9”
返回7.9
@Guffa感谢您提供的信息。今天学了新东西以上的表达就是其中一种方式。另一种方法是使用Guffa提到的typeof(5++“7”),上面的表达式就是其中之一。另一种方法是使用Guffa提到的typeof(5++“7”)