为了账号安全,请及时绑定邮箱和手机立即绑定

不是很理解,小节里面当值为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下载
官方微信