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

最后输出人数的时候输出不了,输出代码放在别的位置都能输出啊

<!DOCTYPE  HTML>

<html >

<head>

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

<title>流程控制语句</title>

<script type="text/javascript">

// 定义数组infos

    var infos =[['小A','女',21,'大一'], ['小B','男',23,'大三'],['小C','男',24,'大四'],  ['小D','女',21,'大一'],['小E','女',22,'大四'],  ['小F','男',21,'大一'],['小G','女',22,'大二'],  ['小H','女',20,'大三'],['小I','女',20,'大一'],  ['小J','男',20,'大三']];

// 定义统计用的变量

    var n=0;

// 输出标题

    document.write("大一的女同学有:<br>")

// for循环确认循环次数

    for(i=0;i<=infos.length;i++){

// 判断是不是大一的同学

        if(infos[i][3]=="大一"){

// 判断是不是女生

            if(infos[i][1]=="女"){

// 是大一女生的话统计变量加1,并输出她的名字和年龄

                n=n+1;

                document.write(infos[i][0]+"今年"+infos[i][2]+"岁。<br>")

            }

        }

    }

// 最后在输出统计的人数

    document.write("大一的女生共有"+n+"人。");

</script>

</head>

<body>

</body>

</html>


正在回答

2 回答

同学,你好,你把 for(i=0;i<=infos.length;i++)改成 for(i=0;i<infos.length;i++)。

因为数组的长度为infos.length=10,但是不能执行i=10;最后一次i=10的循环没有执行,所以

document.write("大一的女生共有"+n+"人。");这行代码就不会执行。

如果你觉得我的回答满意,请设为“采纳回答”,谢谢!

0 回复 有任何疑惑可以回复我~

你的n是局部变量,它只在for循环的方法体中有效果


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

qq_福州三五互联小施_0

把n去掉也不行啊document.write整个无效了,是不是要跳出for的循环啊,用break好像又不行,会影响前面的结果
2018-05-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       466962    人
  • 解答问题       21874    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

最后输出人数的时候输出不了,输出代码放在别的位置都能输出啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信