為什么null時(shí)沒有返回結(jié)果?
<!DOCTYPE?HTML> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>prompt</title> ??<script?type="text/javascript"> ??function?rec(){ var?score;?//score變量,用來存儲用戶輸入的成績值。 score?=?prompt("請輸入您的成績:","這里輸入0-100以內(nèi)的數(shù)字哦!"); if(score>=90) { ???document.write("你很棒!"); } else?if(score>=75) ????{ ???document.write("不錯(cuò)吆!"); } else?if(score>=60) ????{ ???document.write("要加油!"); ????} ????else?if(score<=59) { ???????document.write("要努力了!"); } else?if(score==null) { ???document.write("您沒有輸入成績!請重新輸入!"); } ??} ??</script> </head> <body> ????<input?name="button"?type="button"?onClick="rec()"?value="點(diǎn)擊我,對成績做評價(jià)!"?/> </body> </html>
如果等于null返回沒有填寫數(shù)字為什么不起作用呢?不管點(diǎn)取消還是確定都是要努力了!
2018-01-29
if ("" == score) {
????if(score>=90)
????{
???????document.write("你很棒!");
????}
????else?if(score>=75)
????{
???????document.write("不錯(cuò)吆!");
????}
????else?if(score>=60)
????{
???????document.write("要加油!");
????}
????else?if(score<=59)
????{
???????document.write("要努力了!");
????}
} else {
????document.write("您沒有輸入成績!請重新輸入!");
}
2018-01-29
因?yàn)?"、0和false都為“假值”,他們之間是可以互等的。所以在執(zhí)行到第22行代碼的時(shí)候,如果輸入""值,判斷結(jié)果是為true的。再看第26行代碼,null稱為“空值”,“假值”和“空值”之間是不可以互等的,即返回結(jié)果為false。你可以試試將這幾個(gè)值在if語句中用==操作符進(jìn)行比較,觀察返回結(jié)果,就會更加深刻的理解這個(gè)問題了。
2018-01-29
加上雙引號就好了哦 ,因?yàn)槭亲址?/p>