最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

關(guān)于變量未定義和未賦值的問題

<script?type="text/javascript">
??var?num1=10-5;
??var?num2=6+num1;
??document.write("小明還剩:"+num1+"元"+"<br>");
??document.write("小紅花:"+num2+"元買個鉛筆盒");
</script>

這是原代碼,如果將代碼進(jìn)行下述修改后,為什么會出現(xiàn)這種情況?

a.如果刪除2.3行代碼,代碼全部不會顯示,包括“小明還剩”等document.weite()里的。

b.如果第2.3行改為

var?num1;
var?num2;

的話,即只定義不賦值,輸出的num值是undefined。

c.如果2.3行代碼互換

??var?num2=6+num1;
??var?num1=10-5;

輸出的num2是NaN。

d.我在慕課網(wǎng)站上先成功運(yùn)行一次后,再進(jìn)行我的上述操作,右側(cè)小窗口輸出的都是第一次的正確代碼。

感謝解答

正在回答

4 回答

a:刪除第二第三行,num1和num2 沒有被定義,整個js不能正確運(yùn)行,所以不會執(zhí)行第二行以后的代碼;

b:修改成var?num1;var?num2,變量被定義,但是沒有賦值,系統(tǒng)會給一個默認(rèn)值,就是undefined

c:2.3行互換,NaN是未知錯誤,系統(tǒng)無法判定num1的類型,至于為啥可以運(yùn)行,我猜測是因?yàn)閚um1 前面的+號

d:你沒有點(diǎn)擊提交按鈕,所以右側(cè)的窗口還是你修改前的效果


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

Jeoop 提問者

非常感謝!
2017-05-31 回復(fù) 有任何疑惑可以回復(fù)我~

感謝提出這個問題以及回答問題的各位!拓展了自己的思路

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

補(bǔ)充c點(diǎn):2.3行互換,num1雖在后面定義并賦值,但聲明提前(即把定義提到代碼頂部),它的值為undefined。

? ? ? ? ? ? ? ?+號運(yùn)算,javascript優(yōu)先期望操作數(shù)為數(shù)字,因此,javascript會把undefined隱式轉(zhuǎn)換為NaN,轉(zhuǎn)

? ? ? ? ? ? ? ?換結(jié)果無意義,6+NaN表達(dá)返回NaN(中文意思:不是一個數(shù)字)。

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

只定義了變量,沒有賦值,輸出就是undefined.

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

舉報(bào)

0/150
提交
取消

關(guān)于變量未定義和未賦值的問題

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

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

幫助反饋 APP下載

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

公眾號

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