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

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

為什么輸出結果是NaN?

<!DOCTYPE html>

<html>

?<head>

? <title> 事件</title>??

? <script type="text/javascript">

? ?function count(){

? ? ? ?

? ? var a;

? ? var num1=document.getElementById("txt1").value;

? ? //獲取第一個輸入框的值

? ? var num2=document.getElementById("txt2").value;

//獲取第二個輸入框的值

var myDropdownbox=document.getElementById("select").value;

//獲取選擇框的值

var result="";

switch(myDropdownbox)

{

case "+":

? ? result=parseFloat("num1")+parseFloat("num2");

? ? break;

? ??

? ? ?case "-":

? ? result=parseFloat("num1")-parseFloat("num2");

? ? break;

? ??

case "*":

? ? result=parseFloat("num1")*parseFloat("num2");

? ? break;

? ??

default:

? ? result=parseFloat("num1")/parseFloat("num2");

? ? break;

}

//獲取通過下拉框來選擇的值來改變加減乘除的運算法則

? ?

? ?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() /> <!--通過 = 按鈕來調用創建的函數,得到結果-->?

? ?<input type='text' id='fruit' />? ?

?</body>

</html>


正在回答

4 回答

你的函數調用用錯了地方,應該是點擊“=”號來觸發計算的事件的:

??<input type='button' value=' = ' / onclick="count()"> <!--通過 = 按鈕來調用創建的函數,得到結果-->

你的代碼如下:

? ?<input type='button' value=' = ' /> <!--通過 = 按鈕來調用創建的函數,得到結果-->?

? ?<input type='text' id='fruit' onfocus="count()"/> ?

這個意思是通過聚焦結果按鈕來觸發onfocus函數。


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

parseFloat(num1) ?括號里的是變量,不是字符串,你加了引號,parseFloat("num1") 去掉引號改成?parseFloat(num1) 就OK了

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

https://img1.sycdn.imooc.com//5b3a342a0001593b02100121.jpgonclick="count()"

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

你為啥用了parseFloat,應該用parseInt.

<script type="text/javascript">

? ?function count(){

? ? ? ?

? ? //獲取第一個輸入框的值

? ? var txt1=parseInt(document.getElementById("txt1").value);

//獲取第二個輸入框的值

var txt2=parseInt(document.getElementById("txt2").value);

//獲取選擇框的值

var select=document.getElementById("select").value;

//獲取通過下拉框來選擇的值來改變加減乘除的運算法則

switch(select)

{

? ?case "+":

? ?var sum=txt1+txt2;

? ?break;

? ? case "-":

? ?var sum=txt1-txt2;

? ?break;

? ? case "*":

? ?var sum=txt1*txt2;

? ?break;

? ?case "/":

? ?var sum=txt1/txt2;

? ?break;

? ?default:

? ?document.write("沒有");

? ?break;

}

? ? //設置結果輸入框的值?

? ? document.getElementById("fruit").value=sum;

? ?}

? </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=' = ' /> <!--通過 = 按鈕來調用創建的函數,得到結果-->?

? ?<input type='text' id='fruit' onfocus="count()"/> ??

?</body>


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

木東97 提問者

我用了parseInt結果也還是NaN
2018-06-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468830    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

為什么輸出結果是NaN?

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

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

幫助反饋 APP下載

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

公眾號

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