我需要创建一个创建以下输出的javascript(将其视为学费优惠券)**每个分配方向**
等级将增加到8,教室将增加到3,月增加到9。
我遇到的问题是" 0年级的学费必须是每月80学生" vs" 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/>");
}
}
}
&#13;
提前谢谢。
答案 0 :(得分:2)
在第一个for循环开始后添加此tuition = ...
行:
for (grade = 0; grade <=8; grade++) {
tuition = grade ? 60 : 80;
这将检查成绩是否为非零。如果是这样,则采用60,否则为80.该值放在学费变量中。
答案 1 :(得分:1)
只需检查成绩并计算学费。
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/>");
}
}
}
答案 2 :(得分:1)
如何将房间和月份循环代码放入一个函数中,该函数将成绩和学费作为参数:
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语句来检查是否根据成绩或其他任何方式更改学费。