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

来源:4-10 编程练习

慕慕2041692

2018-05-21 17:07

<!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回答

  • 慕婉清2379718
    2018-05-30 19:33:44

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

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

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

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

  • qq_两脚踢翻尘世界_0
    2018-05-21 19:43:41

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


    qq_福州三...

    把n去掉也不行啊document.write整个无效了,是不是要跳出for的循环啊,用break好像又不行,会影响前面的结果

    2018-05-21 19:51:23

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题