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

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

為什么這樣子引用會出現多出一個undefined

<script>
function?rec(){
????var?mymessage=confirm("你是女士嗎?")?????????;
????if(mymessage==true)
????{
????	document.write("你是女士!");
????}
????else
????{
????????document.write("你是男士!");
????}
??}????
document.write(rec())
</script>


正在回答

1 回答

undefined是函數調用的返回值(此處由于沒有顯式return,所以返回默認值undefined)

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

lmy_wy 提問者

不怎么明白,那為什么用按鈕的方式去調用函數就不會
2015-09-25 回復 有任何疑惑可以回復我~
#2

Kusoku 回復 lmy_wy 提問者

這里rec()是一個函數調用表達式,既然是一個表達式就會返回一個值,最后一條語句執行,寫入頁面的就是undefined,可是在這個函數調用過程中,函數的內部邏輯也會執行一次頁面寫入("你是女士"或者"你是男士"),整段代碼的執行相當于兩次頁面寫入,用按鈕綁定觸發執行的只有函數內部邏輯,外面的document.write(rec())不執行,那肯定也就不會有后面的undefined了
2015-09-26 回復 有任何疑惑可以回復我~
#3

lmy_wy 提問者

非常感謝!
2015-09-26 回復 有任何疑惑可以回復我~
#4

小白r 回復 Kusoku

為什么在加載的時候document沒有被執行 前幾節課不是直接在script中的document直接執行了嗎》》》按說這里不是顯示 undefined 再點擊按鈕時 undefined變成文字 一次性輸出兩行文字
2015-10-22 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

為什么這樣子引用會出現多出一個undefined

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

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

幫助反饋 APP下載

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

公眾號

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