Javascript比较理解

时间:2017-12-16 11:57:23

标签: javascript

为什么javascript会返回TRUE:

if (Hfin > HfinDB) {

console.log("Hfin > HfinDB =>" + Hfin +">" +HfinDB);

$(':input[type="submit"]').prop('disabled', true);

}
控制台日志中的

Hfin > HfinDB => 140 > 1330

140不是>到1330并且javascript返回true:s

由于

1 个答案:

答案 0 :(得分:0)

您可以使用函数parseInt()将字符串转换为整数。

如文档中所述,函数parseInt将返回获得的left-substring的整数值,其中切割字符串,其中找到第一个非数字字符(实际上空格也被忽略,符号+和 - 当然是有效的)。

例如:

parseInt("100wrong") == 100;
parseInt("222any") == 222;
parseInt(" 100") == 100;
parseInt(" 100lll") == 100;
parseInt("-100") == -100;
parseInt("wrong222") == NaN;

如果解析字符串变量Hfin和HfinDB,如果其中一个或两个是" NaN",则比较将返回false;

要修复您的代码使用:

var parsedHfin = parseInt(Hfin);
var parsedHfinDB = parseInt(HfinDB);
if (parsedHfin > parsedHfinDB) {
    ...
}