出錯情景:
今天在做JS裏對輸入框結果值是否爲0作判斷時,總是得不到想象的結果,於是查之。
javascript語言
當我們在JS中判斷兩個數值大小時,比如<script language="javascript">
if(2>100)
{
alert('true');
}else{
alert("false");
}
</script>
上述JS是得不到我們想要的效果的,因爲JS是弱類型語言,是沒有int類型的,它默認把我們的數字類型當成字符串了,我們可以有以下兩種解決辦法
1.將兩個數值相減,判斷相減後的值
if((2-100)>0)
{
alert('true');
}else{
alert("false");
}
2.使用eval()函數,這個函數可以把一個字符串當作一個JavaScript表達式一樣去執行它
if(eval(2)>eval(100))
{
alert('true');
}else{
alert("false");
}
</script>
用法demo:
alert(eval("4+9")); 彈出13
alert("4+9"); 彈出"4+9"