求解!為什么沒有加parseInt()函數時,計算相加時,第一個框的數字會被放大10倍呢,從而使結果不正確,但是相減,相乘,相除又是正確的。
<!DOCTYPE html>
<html>
?<head>
? <title> 事件</title> ?
? <script type="text/javascript">
? ?function count(){
? ? var num1,num2,num3,fruit; ?
? ? //獲取第一個輸入框的值
? ? num1 = document.getElementById("txt1").value;
//獲取第二個輸入框的值
? ? num2 = document.getElementById("txt2").value;
//獲取選擇框的值
? ? num3 = document.getElementById("select").value;
//獲取通過下拉框來選擇的值來改變加減乘除的運算法則
? ? //設置結果輸入框的值?
? ? switch(num3){
? ? ? ? case "+":fruit=num1+num2;break;
? ? ? ? case "-":fruit=num1-num2;break;
? ? ? ? case "*":fruit=num1*num2;break;
? ? ? ? case "/":fruit=num1/num2;break;
? ? }
? ? document.getElementById("fruit").value=fruit;
? ?}
? </script>?
?</head>?
?<body>
? ?<input type='text' id='txt1' />?
? ?<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
? ?</select>
? ?<input type='text' id='txt2' />?
? ?<input type='button' value=' = ' onclick="count()"/> <!--通過 = 按鈕來調用創建的函數,得到結果-->?
? ?<input type='text' id='fruit' /> ??
?</body>
</html>
2016-07-09
document.getElementById("fruit").value返回值是字符串,若要進行運算,需要使用parseInt()或parseFloat()函數將其進行解析為數值。否則6+6相當于字符串“6”+“6”=“66”,類似于“lo”+"ve"="love"
2016-07-09
怎么看出來放大了十倍? ?你換上字母輸入看看 , ? parseInt()能解析一個字符串,然后再返回一個整數,如果不加這個,只是單純的把兩個字符串放在一起。
2016-07-09
parseFloat()