一般情況下:
if(2 > 10) { alert("不正確!"); }
此比較不會是想要的結果:它相當於2 >1,把10的第一位取出來比較。
解決方法:
if(eval(2) > eval(10)) { alert("不正確!"); }
eval()函數用於在不引用任何特定對象的情況下計算代碼字符串。
<script> function check() { var num1=document.form1.num1.value; var num2=document.form1.num2.value; if(num2>num1) <!-錯誤寫法--> { alert('num2 > num1!'); return false; } return true; } </script> <script> function check() { var num1=document.form1.num1.value; var num2=document.form1.num2.value; if(parseInt(num2)>parseInt(num1)) <!-正確寫法(轉換成INT)--> { alert('num2 > num1!'); return false; } return true; } </script>
EG:
110和18在你寫的程序中是18大的,因為
這兩個數都是字符串,而1和1相等之後比較1和8,當然是8大,所以18大
你在比較之前轉換成INT型在比
if(parseInt(num2)>parseInt(num1))
以上這篇JS比較兩個數值的大小實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。