Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表达式类型(数字)_Javascript - Fatal编程技术网

Javascript 表达式类型(数字)

Javascript 表达式类型(数字),javascript,Javascript,以下表达式在JavaScript中给出了特殊的结果 typeof (5 + "7") // Gives string typeof (5 - "7") // Gives number 如何以数字类型获得第一个表达式的结果 有没有办法在不显式地将7转换为数字的情况下做到这一点 请澄清。javascript中的加号将数字加在一起,但它也将字符串连接起来,当一个被加在一起的值是一个字符串时,不管其他值是什么,后一个值都会被执行 减号减法,不能从字符串中减去字符串,所以它的唯一含义是减去数字

以下表达式在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”)