請(qǐng)問(wèn)這是為什么?謝謝!
<!DOCTYPE html>
<html>
?<head>
? <title> 事件</title> ?
? <script type="text/javascript">
? ?function count(){?
? ? //獲取第一個(gè)輸入框的值
? ? //獲取第二個(gè)輸入框的值
//獲取選擇框的值
//獲取通過(guò)下拉框來(lái)選擇的值來(lái)改變加減乘除的運(yùn)算法則
? ? //設(shè)置結(jié)果輸入框的值?
? ? var one=document.getElementById("txt1").value;
var two=document.getElementById("txt2").value;
var objselect=document.getElementById("select").value;
switch(objselect){
case "+" : return document.getElementById("fruit").value=one+two;
case "-" : return document.getElementById("fruit").value=one-two;
case "*" : return document.getElementById("fruit").value=one*two;
case "/" : return document.getElementById("fruit").value=one/two;
}
? ?}
? </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>
?
請(qǐng)問(wèn)各位大神,為什么我這樣用加法那里出來(lái)的是兩個(gè)字符串連起來(lái)?而用parseInt()就可以正常?
2015-06-04
因?yàn)槟惬@取的是字符串,不轉(zhuǎn)化相加當(dāng)然是字符串拼接...
parseInt的作用就是把字符串轉(zhuǎn)化為整數(shù)(適用于數(shù)字字符串),parseFloat轉(zhuǎn)為浮點(diǎn)數(shù)
2015-06-04
你獲得的值的數(shù)據(jù)類型如果其中一個(gè)為字符串,那么計(jì)算結(jié)果會(huì)轉(zhuǎn)化為字符串。
parseInt是全局的函數(shù),用來(lái)將字符串類型轉(zhuǎn)化為int類型。所以遇到這種情況應(yīng)該考慮你的值類型是否是你所希望的。