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))
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com