為什么我的加法只是單純地把數(shù)字拼在一起而不是數(shù)值相加
<!DOCTYPE html>
<html>
?<head>
? <title> 事件</title>??
? <script type="text/javascript">
? ?function count(){
? ? ? ?
? ? //獲取第一個輸入框的值
? ? var num1=document.getElementById("txt1").value;
//獲取第二個輸入框的值
var num2=document.getElementById("txt2").value;
//獲取選擇框的值
var op=document.getElementById("select").value;
//獲取通過下拉框來選擇的值來改變加減乘除的運(yùn)算法則
var result;
switch(op){
? ? case "+":
? ? result=num1+num2;
? ? break;
? ? case "-":
? ? result=num1-num2;
? ? break;
? ? case "*":
? ? result=num1*num2;
? ? break;
? ? case "/":
? ? result=num1/num2;
? ? break;
}
? ? //設(shè)置結(jié)果輸入框的值?
? ? document.getElementById("fruit").value=result;
? ?}
? </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()"/> <!--通過 = 按鈕來調(diào)用創(chuàng)建的函數(shù),得到結(jié)果-->?
? ?<input type='text' id='fruit' />? ?
?</body>
</html>
2018-08-14
文本框獲取的是字符串格式,你把它轉(zhuǎn)換成數(shù)值就好了
num1 = parseInt(num1);
parseInt函數(shù)在課程里面有提到
2018-08-18
因?yàn)閮H有+在JS還有連接符的意思,-*/都沒有。當(dāng)你得到第一個框的值的時候,這時它是一個字符串,字符串+字符串,JS就把他們拼接了。而-*/,JS發(fā)現(xiàn)字符串做不了這個東西啊,就自動把他們轉(zhuǎn)成數(shù)字,然后再進(jìn)行運(yùn)算。我編完了
2018-08-14
我直接是蒙的