為什么小于60的數會在結果中會出現兩次
<script?type="text/JavaScript"> var?mynum?=new?Array(70,80,66,90,50,100,89,99,102,23,60);//定義數組mynum并賦值 var?i=0; while(i<mynum.length) { ??if(mynum[i]<60) ???{ ????document.write("成績"+mynum[i]+"不及格,不用循環了"+"<br>"); ???} ??????document.write("成績:"+mynum[i]+"及格,繼續循環"+"<br>"); ??????i=i+1; } </script>
結果:
我還沒有加break停止循環,想試試不加會事什么效果。
為什么明明小于60的數卻會出現兩個,在判斷mynum[i]>60不成立后,不應該是不顯示這行輸出嗎,為什么還是顯示了,感覺沒有進行判斷。難道跟break有關系?
2017-06-02
沒毛病???
老鐵懂了吧?
2017-06-02
??? <script type="text/JavaScript">
?? ??? ?var mynum =new Array(70,80,66,90,50,100,89,99,102,23,60);//定義數組mynum并賦值
?? ??? ?var i=0;
?? ??? ?while(i<mynum.length)
?? ??? ??? ?{
? ?? ??? ??? ??? ?if(mynum[i]<60)
? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?document.write("成績"+mynum[i]+"不及格,不用循環了"+"<br>");
? ??? ??? ??? ??? ?} else{
? ??? ??? ??? ??? ??? ?document.write("成績:"+mynum[i]+"及格,繼續循環"+"<br>");
? ??? ??? ??? ??? ?}
??? ??? ??? ??? ?i=i+1;
?? ??? ??? ?}
?? ?</script>
試一下,好使的話自己對比看看
2017-06-01
你的循環用的不對
2017-06-01
這不是break的問題,你能出來就很好了,按理說你應該無線循環,知道崩潰的,i=i+1不應該寫在else分支中的,i這個全局變量也很有可能埋坑啊。
2017-06-01
因為你走前一個分支的時候沒有執行i=i+1