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

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

var txta=...不寫(xiě)在函數(shù)代碼{}里面,最后document.get...也不寫(xiě)在函數(shù)代碼{}里面

<!DOCTYPE html>

<html>

?<head>

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

? <script type="text/javascript">

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

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

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

? ? var result;

? ? function count(){

? ? ? ? switch(txtc){

? ? ? ? ? ? case "+":result=parseInt(txta)+parseInt(txtb);break;

? ? ? ? ? ? case "-":result=txta-txtb;break;

? ? ? ? ? ? case "*":result=txta*txtb;break;

? ? ? ? ? ? case "/":result=txta/txtb;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()"/> <!--通過(guò) = 按鈕來(lái)調(diào)用創(chuàng)建的函數(shù),得到結(jié)果-->?

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

?</body>

</html>

我知道開(kāi)頭var txta=document.等等和結(jié)尾document.getElementById("fruit").value=result;這兩東西必須寫(xiě)在函數(shù)代碼{}里才是對(duì)的,我想知道為什么這樣子它就錯(cuò)了,觸犯了哪個(gè)原理?


正在回答

4 回答

寫(xiě)在外面,沒(méi)點(diǎn)擊按鈕就運(yùn)行函數(shù)之外的代碼,此時(shí)那些框框里沒(méi)有任何用戶輸入的數(shù)據(jù),value為空,同理,result尚未被賦值。

靠網(wǎng)友是不行的,還是得自己摸索。

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

我大概知道原因了,是不是瀏覽器是按照先后順序執(zhí)行代碼的,函數(shù)里的代碼需要點(diǎn)擊才能執(zhí)行,那兩個(gè)東西在外面的話,早就被執(zhí)行了

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

代碼的執(zhí)行是有先后順序的,先執(zhí)行script里面的(函數(shù)是調(diào)用時(shí)才執(zhí)行),所以你寫(xiě)在函數(shù)外面的部分會(huì)比body部分先執(zhí)行,由于body部分還沒(méi)有執(zhí)行,所以還沒(méi)有id為txt1的標(biāo)簽,所以document.getElementById("txt1").value根本得不到,所以會(huì)錯(cuò)誤。

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

寶慕林5689754 提問(wèn)者

由于body部分還沒(méi)有執(zhí)行,所以還沒(méi)有id為txt1的標(biāo)簽,這句話不對(duì)吧,把script放在head里照樣能獲取body里的id吧
2019-08-27 回復(fù) 有任何疑惑可以回復(fù)我~
#2

寶慕林5689754 提問(wèn)者

說(shuō)錯(cuò)了 的確是無(wú)法獲取,那我把上面的script放在</body>之前呢,這下是能獲取,但是函數(shù)依舊錯(cuò)
2019-08-27 回復(fù) 有任何疑惑可以回復(fù)我~

寫(xiě)在外面函數(shù)switch就沒(méi)辦法獲取到txt1 txt2 selec的值了,個(gè)人是這么理解的,初學(xué)者勿噴

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

胡歌一號(hào)迷弟

可以百度一下“document.getElementById寫(xiě)在function外”,你就會(huì)知道原因
2019-08-27 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

var txta=...不寫(xiě)在函數(shù)代碼{}里面,最后document.get...也不寫(xiě)在函數(shù)代碼{}里面

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

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

幫助反饋 APP下載

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

公眾號(hào)

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