for 循环(但一个变量需要一个 if)

for loop (but one variable needs an if)

本文关键字:一个 if 变量 循环 for      更新时间:2023-09-26

>我需要创建一个创建以下输出的 javascript(将其视为学费券簿)** 根据作业指示 **

  • 0 年级,教室 1,第 1 个月
  • 0 年级,教室 1,第 2 个月
  • 一年级教室 1,第 1 个月
年级将增加到 8,课堂将增加到

3,月将增加到 9。

我遇到的问题是"0 年级的学费必须是每月 80"与"1-8 年级是每月 60

"。

我如何解释我的 for 循环代码中的不同学费?这是我到目前为止所拥有的...

var grade = 0;
var rooms = 1;
var month = 1;
var tuition = 60;
for (grade = 0; grade <= 8; grade++) {
  for (rooms = 1; rooms <= 3; rooms++) {
    for (month = 1; month <= 9; month++) {
      document.write("Grade# " + grade + " Classroom# " + rooms + " Month: " + month + " Tuition $" + (tuition * grade) + "<br/>");
    }
  }
}

提前谢谢。

第一个 for 循环开始后添加此tuition = ...行:

for (grade = 0; grade <=8; grade++) {
    tuition = grade ? 60 : 80;

这将检查成绩是否为非零。如果是这样,则取 60,否则为 80。该值放在学费变量中。

只需检查成绩并计算学费即可。

var grade = 0;
var rooms = 1;
var month = 1;
function getTuition(grade) {
    // Will return 80 if grade is less than or equal to 0
    // otherwise it will return 60
    return grade > 0 ? 80 : 60;
}
for (; grade <=8; grade++) {
    for (; rooms <=3; rooms++) {
        for (; month <=9; month++) {
            document.write("Tuition $" + getTuition(grade)  + "<br/>");
        }
    }
}

如何将房间和月份循环代码放入一个函数中,该函数将成绩和学费作为参数:

    function writeInformation(grade, tuition) {
        var rooms, month;
        var cost; // to track total cost of tuition.
        for (rooms = 1; rooms <= 3; rooms++) {
            for (month = 1; month <= 9; month++) {
                cost = tuition * month;
                document.write("Grade# " + grade + " Classroom# " + rooms + " Month: " + month + " Tuition $" + cost + "<br/>");
            }
        }
    }

然后,我们可以重用该函数来计算不同的年级和学费。

    var grade = 1;
    writeInformation(0, 80); // grade 0, tuition 80
    // grades 1-8, tuition 60
    for(grade = 1; grade <= 8; grade++) {
        writeInformation(grade, 60);
    }

这样,您就无需使用 if 语句来检查是否根据成绩或其他方式更改学费。