關(guān)于case里面的加號(hào),有點(diǎn)疑問
<!DOCTYPE?html> <html> ?<head> ??<title>?事件</title>?? ??<script?type="text/javascript"> ???function?count(){ ????var??res; ????//獲取第一個(gè)輸入框的值 var?a=document.getElementById("txt1").value; //獲取第二個(gè)輸入框的值 var?b=document.getElementById("txt2").value; //獲取選擇框的值 var?ocal=document.getElementById("select").value; //獲取通過下拉框來選擇的值來改變加減乘除的運(yùn)算法則 switch(ocal){ case?"+": res=parseInt(a)?+?parseInt(b); break; case?"-": res=a?-?b; break; case?"*": res=a?*?b; break; case?"/": res=a?/?b; break; default: res="請(qǐng)正確輸入"; } ????//設(shè)置結(jié)果輸入框的值? document.getElementById("fruit").value=res; ???} ??</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>
這個(gè)能正確運(yùn)行出來,但是在我第一次的時(shí)候加的情況下,因?yàn)槭菍憆es=a+b,輸出的結(jié)果單純是兩串字拼接在一起,就像23+55=2355這樣,在參考了其他人的寫法才知道這個(gè)parseInt,我想問下是不是要算加法的話一定要加這個(gè)東西?
2017-01-18
不用,parseInt()的作用是將字符轉(zhuǎn)換為與之相應(yīng)的整數(shù),
這個(gè)程序里要加是因?yàn)槿≈禃r(shí)document.getElementById("txt1").value語句取到的值是字符類型的,直接運(yùn)行a+b會(huì)被認(rèn)為是字符相加所以“23”+“55”就是2355,
而用了parseInt()后,把“23”,“25”兩個(gè)字符轉(zhuǎn)換為了23,25兩個(gè)數(shù)字,所以a+b就是23+25=47了。
ps.其實(shí)在定義a和b時(shí)直接用parseInt()將a,b取整程序會(huì)簡單一點(diǎn):
var a=parseInt(document.getElementById("txt1").value);
var b=parseInt(document.getElementById("txt2").value);
2017-01-19
parseInt()的作用是將從輸入框中獲得的內(nèi)容轉(zhuǎn)為Int類型,樓上說的很清楚了
2017-01-16
不需要啊,parseInt只是對(duì)括號(hào)中的內(nèi)容取整操作,不影響其他的