Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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中比较(“string”gt;0)返回false?_Javascript_String Comparison - Fatal编程技术网

为什么在JavaScript中比较(“string”gt;0)返回false?

为什么在JavaScript中比较(“string”gt;0)返回false?,javascript,string-comparison,Javascript,String Comparison,既然“string”是非空字符串,它不应该返回true吗?这种比较到底是如何工作的?这是因为类型转换和NaN>0是错误的这一简单事实 当应用于运算符时,两个操作数都转换为数字,这样比较就变得简单 Number(“string”)>0相当于NaN>0,其计算结果为false当将字符串与数字进行比较时,JavaScript尝试将字符串转换为数字以进行逻辑比较 将“字符串”转换为数字将导致NaN,而NaN>0为false 为什么你认为这是真的?

既然“string”是非空字符串,它不应该返回true吗?这种比较到底是如何工作的?

这是因为类型转换和
NaN>0
是错误的这一简单事实

当应用于
运算符时,两个操作数都转换为数字,这样比较就变得简单


Number(“string”)>0
相当于
NaN>0
,其计算结果为
false

当将字符串与数字进行比较时,JavaScript尝试将字符串转换为数字以进行逻辑比较

“字符串”
转换为数字将导致
NaN
,而
NaN>0
false


为什么你认为这是真的?