简体   繁体   English

JavaScript逻辑运算符未返回正确的值

[英]javascript logical operator doesn't return correct value

I have code like this. 我有这样的代码。

No1 : <input type="text" name="no1">  value = 45
No2 : <input type="text" name="no2">  value = 55

<script>
      var no1 = $('input[name=no1]').val();
      var no2 = $('input[name=no2]').val();
</script>

But I check like this, it always returns false . 但是我这样检查,它总是返回false

parseFloat(no1) < parseFloat(no2);
//false

Please explain theory behind this. 请解释一下背后的理论。 I am new to javascript. 我是javascript新手。 I couldn't find it google either. 我也找不到它谷歌。

好吧,就目前情况而言,两个输入都具有一个空值,因此parseFloat给出NaN ,这是不可比较的,因此任何涉及它的比较都是错误的。

I agree with Kolink Try this. 我同意Kolink的方法。

No1 : <input type="text" name="no1">
No2 : <input type="text" name="no2">

<script>
      var no1 = document.getElementsByName('no1')[0].value;
      var no2 = document.getElementsByName('no2')[0].value;
      // will evaluate properly as long as you supply number inside input text
      parseFloat(no1) > parseFloat(no2);
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM