一般情況下:
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比較兩個數值的大小實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。