0

我正在尝试获取当前月份,然后将月份放入 div 中。

function checkmaand()
{
var datum = new Date();
var maand = datum.getMonth();
switch (maand)
{   
    case 0: document.getElementById("maand").innerHTML = "Januari";
    case 1: document.getElementById("maand").innerHTML = "Februari";
    case 2: document.getElementById("maand").innerHTML = "Maart";
    case 3: document.getElementById("maand").innerHTML = "April";
    case 4: document.getElementById("maand").innerHTML = "Mei";
    case 5: document.getElementById("maand").innerHTML = "Juni";
    case 6: document.getElementById("maand").innerHTML = "Juli";
    case 7: document.getElementById("maand").innerHTML = "Augustus";
    case 8: document.getElementById("maand").innerHTML = "September";
    case 9: document.getElementById("maand").innerHTML = "Oktober";
    case 10: document.getElementById("maand").innerHTML = "November";
    case 11: document.getElementById("maand").innerHTML = "December";
}
}

但由于某种原因,输出是 12 月(对于未来的人们来说现在是 11 月)

所以我的问题是它为什么会这样做,我该如何解决?

还有一件事:我必须用 javascript 来做。

4

4 回答 4

5

您必须break;在每个案例的末尾添加一个,以便它不会继续到下一个案例。

function checkmaand()
{
var datum = new Date();
var maand = datum.getMonth();
switch (maand)
{   
    case 0: document.getElementById("maand").innerHTML = "Januari";
        break;
    case 1: document.getElementById("maand").innerHTML = "Februari";
        break;
   ...
}
}

等等

于 2013-11-07T20:19:05.397 回答
1

你错过了每个案例结束时的“休息”。

于 2013-11-07T20:19:59.733 回答
1

正如其他人所提到的,问题是因为您忘记break;在每个案例陈述的末尾添加一个。

作为建议,您可以像这样简化代码:

function checkmaand() {
    document.getElementById("maand").innerHTML = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][new Date().getMonth()];
}
于 2013-11-07T20:27:48.070 回答
0
switch (expr) {
  case "Oranges":
    document.write("Oranges are $0.59 a pound.<br>");
    break;
  case "Apples":
    document.write("Apples are $0.32 a pound.<br>");
    break;

HC_的例子中。

休息是可选的,但解释将显示:

与每个 case 标签关联的可选 break 语句确保程序在执行匹配的语句后跳出 switch,并在 switch 后面的语句处继续执行。如果 break 被省略,程序将继续执行 switch 语句中的下一条语句

于 2013-11-07T20:28:44.953 回答