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