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

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

關(guān)于取消null的問題

點取消的返回值不是Null么 那我在中間加一段

else if(score==null){

document.write("取消");

}

的代碼 為什么點了取消后還是輸出的 ?”你要努力“ 而不是 ”取消“ 呢?

<!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("請輸入你的分數(shù):")?;
	if(score>=90)
	{
	???document.write("你很棒!");
	}
	else?if(score>=75)
????{
	???document.write("不錯吆!");
	}
	else?if(score>=60)
????{
	???document.write("要加油!");
????}
????else?if(score<60)
	{
???????document.write("要努力了!");
	}
????else?if(score==null){
????????document.write("取消");
????}
????else{
????????document.write("error");
????}
??}
??</script>
</head>
<body>
????<input?name="button"?type="button"?onClick="rec()"?value="點擊我,對成績做評價!"?/>
</body>
</html>


正在回答

4 回答

你的代碼錯了,或者說不完整。這樣寫點擊取消才會返回null并輸出 else if(score==null){} 內(nèi)的內(nèi)容:


? <script type="text/javascript">

? function rec(){

? ? var score; //score變量,用來存儲用戶輸入的成績值。

? ? score = prompt("請輸入你的分數(shù):") ;

? ? if(score>=90&&score!=null)

? ? {

? ? ? ?document.write("你很棒!");

? ? }

? ? else if(score>=75&&score!=null)

? ? {

? ? ? ?document.write("不錯吆!");

? ? }

? ? else if(score>=60&&score!=null)

? ? {

? ? ? ?document.write("要加油!");

? ? }

? ? else if(score<60&&score!=null)

? ? {

? ? ? ?document.write("要努力了!");

? ? }

? ? else if(score==null){

? ? ? ? document.write("取消");

? ? }

? ? else{

? ? ? ? document.write("error");

? ? }

? }

? </script>

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

顧五丑

嘗試了一下,這種方法是可行的。請問原理是什么?能解釋一下么?
2016-03-30 回復(fù) 有任何疑惑可以回復(fù)我~
#2

策神 回復(fù) 顧五丑

if(score>=90) { document.write("你很棒!"); } ....... 在if(score>=90)...中,變量score被賦值,并且變量類型是int類型,所以當你點擊取消的時候返回的其實是"0",而不是"null",而if(score>=90&&score!=null)...中被賦值的score就表明是String類型,當點擊取消的時候,返回的也就是"null",其實最主要的是看變量score是什么類型。
2016-03-30 回復(fù) 有任何疑惑可以回復(fù)我~
#3

策神 回復(fù) 顧五丑

所以還有另外一種寫法,先把score定義為String類型: if(score==null){ document.write("你點擊了取消!"); } else if(score>=90){ document.write("你很棒!"); }......由于回復(fù)不能超過300個字,后面的代碼就不能寫在這里了,你把下面的代碼寫完就可以,主要的是把if(score==null)放在最前面,else if(score>=90)...不變,結(jié)果也是和另外一種方式是一樣的。
2016-03-30 回復(fù) 有任何疑惑可以回復(fù)我~
#4

顧五丑 回復(fù) 策神

非常感謝
2016-03-30 回復(fù) 有任何疑惑可以回復(fù)我~
#5

顧五丑 回復(fù) 策神

對了,請問當我我把這段代碼拿到火狐上驗證,發(fā)現(xiàn)按鈕上的文字都是亂碼,而且點擊按鈕也不能成功打開新網(wǎng)頁,這是怎么回事?
2016-03-30 回復(fù) 有任何疑惑可以回復(fù)我~
#6

策神 回復(fù) 顧五丑

文字亂碼一般都是編碼的問題,你在瀏覽器里右擊鼠標,選擇編碼格式,中文的是UTF-8或GB18030,如果點擊按鈕也不能成功打開新網(wǎng)頁的話可能就是瀏覽器的兼容性,這就涉及到另外的層次了。
2016-03-30 回復(fù) 有任何疑惑可以回復(fù)我~
#7

pomelo9240 提問者

非常感謝!
2016-03-30 回復(fù) 有任何疑惑可以回復(fù)我~
查看4條回復(fù)

涉及了null當作判斷值得時候轉(zhuǎn)換的問題,它把null轉(zhuǎn)換為“0"再判斷了,所以要把else if(score<60 改為elsei f(score<60&&score>0||score==="0")就可以把輸出“取消”的判定null移到最后了


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

jazia

為什么這里是score==="0",要三個=
2016-04-25 回復(fù) 有任何疑惑可以回復(fù)我~

在一般的語言中 一個“=” 表示賦值 ? 即 把等號右邊的值 賦給 左邊的變量 ? 兩個“==” ?才是我們平時認為的 即 等號左右兩邊相等 ? ?在邏輯判斷中 ?== ?>= ?<= != && ?|| ?是常用 而且需要記住的寫法?

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

pomelo9240 提問者

確實是賦值出現(xiàn)了問題 不過就算把"=="改過來了點擊取消后還是沒有輸出我想要的“取消”文本..請問要怎么樣編寫代碼才能實現(xiàn)點“取消”后也讓它輸出指定文本呢..
2016-03-30 回復(fù) 有任何疑惑可以回復(fù)我~

不是。。你賦值的方法是錯的。判斷score=NULL;應(yīng)該用score==NULL;

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

pomelo9240 提問者

謝謝 我已經(jīng)意識到了這個問題 不過我還是沒有做出來想要的結(jié)果..怎么才能實現(xiàn)點擊“取消”后輸出指定文本呢 else if(socore==null)好像并不好用..
2016-03-30 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

關(guān)于取消null的問題

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

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

幫助反饋 APP下載

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

公眾號

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