亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

計算器里,為什么input里的value值是字符串需要轉換?

<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>

var t1 = document.getElementById("txt1").value;
??? var t2 = document.getElementById("txt2").value;
??? var se = document.getElementById("select").value;
??? var fruit = document.getElementById("fruit")
??? switch(se){
??????? case "+":
??????????? num = (parseInt(t1) + parseInt(t2));
??????????? break;
??????? case "-":
??????????? num = parseInt(t1 - t2);
??????????? break;

疑問1:計算器里,為什么input里id 為t1,t2的value值是字符串要轉換?

2:為什么這樣寫沒轉換?num = parseInt(t1 * t2);? 而這樣分開寫又可以?num = (parseInt(t1) + parseInt(t2));??? 請一一幫忙解答謝謝

正在回答

3 回答

1,從文本框取得的值默認為string格式

2.parseInt(t1*t2),兩個string格式的怎么相乘 ,只有先轉換為數值類型才能運算

0 回復 有任何疑惑可以回復我~
#1

慕仙5237505 提問者

非常感謝!mingbai了謝謝
2017-10-28 回復 有任何疑惑可以回復我~

看了你的代碼,發現有個小問題。select獲取id后,沒有繼續獲取select數組的索引號。主要原因是,select獲取的是一個集合或者數組,直接在select獲取的id上.value的話,獲取的都是第一個符號“+”。

解決方法:

var?se?=?document.getElementById("select").value;
var?index?=?document.selectedIndex;
var?selectedValue?=?se.options[index].value;


0 回復 有任何疑惑可以回復我~
#1

Molly喜

sorry,測試了一下可以,忽略忽略上面的回復/(ㄒoㄒ)/~~
2017-12-24 回復 有任何疑惑可以回復我~
#2

慕仙5237505 提問者 回復 Molly喜

額好的呢,我看看
2018-01-25 回復 有任何疑惑可以回復我~

乘1效果更佳

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

計算器里,為什么input里的value值是字符串需要轉換?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號