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

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

不是很理解,小節里面當值為5時候是完全不輸出“數值:5“的,但是中間代碼成績為50的時候右邊還是輸出了"成績50不及格,不用循環了",為什么還是會輸出呢?

//代碼出自JavaScript進階篇 4-8

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>break</title>

<script type="text/JavaScript">

var mynum =new Array(70,80,66,90,50,100,89);//定義數組mynum并賦值

var i=0;

while(i<mynum.length)

{

? if(mynum[i]<60)

? ?{

? ? document.write("成績"+mynum[i]+"不及格,不用循環了"+"<br>");

? ? break;

? ?}

? document.write("成績:"+mynum[i]+"及格,繼續循環"+"<br>");

? i=i+1;

??

}

</script>

</head>

<body>

</body>

</html>


正在回答

3 回答

你得注意break在什么位置,小節里break是在document.write之前,所以沒輸出就跳出了循環;而練習里面是在document.write之后,則是在輸出之后才跳出循環的。

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

木畏 提問者

非常感謝!
2015-04-07 回復 有任何疑惑可以回復我~

因為?document.write("成績:"+mynum[i]+"及格,繼續循環"+"<br>");不是if,else的句式,他不是選擇的語句,而是運行了if的語句后接著向下運行,所以50運行了兩次。不知道你問的是不是這個

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

不太明白你什么意思,但是我可以給你說一下代碼的運行過程。你所用的循環為while循環,就是當如果滿足條件時則一直循環。而在循環當中有一個判斷,如果滿足判斷中的條件的話,則執行if語句里面的代碼塊,至于你說的為什么5不輸出而50就輸出,這個不太懂,因為不管是5也好還是50也好,都是小于60的,都會執行

document.write("成績"+mynum[i]+"不及格,不用循環了"+"<br>");

? ? break;

這兩句話,然后跳出循環

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

木畏 提問者

請查閱JavaScript進階篇 4-8
2015-04-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

不是很理解,小節里面當值為5時候是完全不輸出“數值:5“的,但是中間代碼成績為50的時候右邊還是輸出了"成績50不及格,不用循環了",為什么還是會輸出呢?

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

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

幫助反饋 APP下載

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

公眾號

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