一般:
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>
例:
110 と 18 は、あなたが書いたプログラムでは 18 です。なぜなら、
これら 2 つの数値は両方とも文字列であり、1 と 1 が等しい後、1 と 8 を比較します。もちろん 8 は大きいからです。なので、18 は大きいです
比較する前に INT 型に変換します
if(parseInt(num2)>parseInt(num1))