我刚刚找到一段代码,在其中将字符串与这样的整数进行比较:
var result = "text" > 127;
并且此行代码的结果为false。我也尝试将其更改为等于或小于,结果仍然是假的:
var result = "text" === 127;
var result = "text" < 127;
如果字符串和数字总是返回false,那么比较字符串和数字的含义是什么,或者在任何情况下这是真的?
答案 0 :(得分:1)
当您将字符串与数字进行比较时,字符串将转换为数字,但在本例中为"text"
,结果为NaN
(translate不是数字)。始终结果为false,因为NaN
不是要比较的数字。
验证:
var n1 = Number("text");
console.log(n1); //show NaN
因此...
var result = "text" > 127;
等于
var result = NaN > 127; //result false always with any compare
但是,如果文本是一个可以转换的数字
var result = "00999" > 127; //result true, because Number("00999") == 999