第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

為什么會(huì)這樣

<!DOCTYPE html>
<html>
?<head>
? <title> 事件</title>?
? <script type="text/javascript">
?? function count(txt1,txt2,select){

??? switch(select) {
??????? case "+":
?????????? result = parseFloat(txt1) + parseFloat(txt2);
??????????? break;
??????? case "-":
??????????? result = parseFloat(txt1) - parseFloat(txt2);
??????????? break;
??????? case "*":
??????????? result = parseFloat(txt1) * parseFloat(txt2);
??????????? break;
??????? default:
??????????? result = parseFloat(txt1) / parseFloat(txt2);
??? }
??? document.getElementById("fruit").value = parseFloat(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>

https://img1.sycdn.imooc.com//5d5a5ba80001c7c904480092.png

正在回答

3 回答

按照你寫的代碼,你獲取到的值為undefined所以你不管怎么點(diǎn)=號(hào),都只會(huì)得出NaN。

用代碼表示你的情況:

<!DOCTYPE?html>
<html>
?<head>
??<title>?事件</title>??
??<script?type="text/javascript">
var?c?=?parseFloat(a)?+?parseFloat(b);
document.write(a?+?"和"?+?b?+?"的和等于"?+?c);
??</script>?
</head>?
<body>
</body>
</html>

正確的代碼應(yīng)為

<!DOCTYPE?html>
<html>
?<head>
??<title>?事件</title>??
??<script?type="text/javascript">
???function?count(){
????var?txt1?=?document.getElementById("txt1").value;??//這里是獲取id名txt1里value的值
????var?txt2?=?document.getElementById("txt2").value;??//這里是獲取id名txt2里value的值
????var?select?=?document.getElementById("select").value;??//這里是獲取id名select里value的值
????var?result;??//這里是聲明一個(gè)變量
????switch(select)?{
????????case?"+":
???????????result?=?parseFloat(txt1)?+?parseFloat(txt2);
????????????break;
????????case?"-":
????????????result?=?parseFloat(txt1)?-?parseFloat(txt2);
????????????break;
????????case?"*":
????????????result?=?parseFloat(txt1)?*?parseFloat(txt2);
????????????break;
????????default:
????????????result?=?parseFloat(txt1)?/?parseFloat(txt2);
????}
????document.getElementById("fruit").value?=?parseFloat(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>


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

sdarks

額,沒仔細(xì)看代碼,回答有問題。 因?yàn)槟愕膖ex1、tex2和select沒獲得值,所以它們的值默認(rèn)為undefined。然后因?yàn)閟witch的條件都不滿足,所以只會(huì)運(yùn)行default:result = parseFloat(txt1) / parseFloat(txt2);。這時(shí)txt1和txt2值都是undefined,而parseFloat(txt1)為NaN,所以運(yùn)行后得到的result值也只會(huì)是NaN,而最后輸出的parseFloat(result)也只會(huì)是NaN。
2019-08-30 回復(fù) 有任何疑惑可以回復(fù)我~

result? ?沒有定義,他不是一個(gè)數(shù)字所以會(huì)報(bào)這樣的問題,你可以在switch上面定義一下,

方法一:var sum = Number("");或者方法二:var sum = 0;


function count() {

//獲取第一個(gè)輸入框的值

var first = document.getElementById("txt1").value;

//獲取第二個(gè)輸入框的值

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

//獲取選擇框的值

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

if (!isNaN(first) && !isNaN(second)) {

//方法一:

//var sum = Number("");

//方法二:

var sum = 0;

switch (sel) {

case "+":

sum += parseFloat(first) + parseFloat(second);

break;

case "-":

sum += parseFloat(first) - parseFloat(second);

break;

case "*":

sum += parseFloat(first) * parseFloat(second);

break;

case "/":

sum += parseFloat(first) / parseFloat(second);

break;

default:

}

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

} else {

console.log("輸入的不是數(shù)字");

}

}



0 回復(fù) 有任何疑惑可以回復(fù)我~

輸入框的兩個(gè)值你沒有獲取,以及符號(hào)的那個(gè)選擇框的值你也沒獲取

?function count(){

? ? ? ?

? ? //獲取第一個(gè)輸入框的值

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

//獲取第二個(gè)輸入框的值

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

//獲取選擇框的值

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

var sum

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

switch(fuhao){

? ? case "+":sum=parseInt(num1)+parseInt(num2);

? ? break;

? ? case "-":sum=num1-num2;

? ? break;

? ? case "*":sum=num1*num2;

? ? break;

? ? case "/":sum=num1/num2;

? ? break;

? ? default:

? ??

}

? ? //設(shè)置結(jié)果輸入框的值?

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

? ?}


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

SunCool 提問者

你仔細(xì)看一下好嗎,如果沒有獲取,那我點(diǎn)擊“=”的時(shí)候?yàn)槭裁磿?huì)有Nan顯示出來,我的問題是為什么它顯示的是nan而不是一個(gè)數(shù)字,這應(yīng)該是一個(gè)數(shù)據(jù)類型的問題
2019-08-20 回復(fù) 有任何疑惑可以回復(fù)我~
#2

當(dāng)妮走了 回復(fù) SunCool 提問者

用parseInt()函數(shù)啊
2019-08-25 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468965    人
  • 解答問題       22582    個(gè)

本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動(dòng)態(tài)交互世界

進(jìn)入課程

為什么會(huì)這樣

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)