Javascript switch语句给出了错误的月份如何修复?

Javascript switch语句给出了错误的月份如何修复?,javascript,switch-statement,monthcalendar,Javascript,Switch Statement,Monthcalendar,我试图获取当前月份,然后将该月份放入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 = "Feb

我试图获取当前月份,然后将该月份放入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来完成。

您必须添加一个
中断,这样就不会继续到下一个案例

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;
   ...
}
}

等等

你错过了每个案例结尾处的“中断”。

正如其他人所提到的,问题在于你忘记添加一个
中断在每个案例陈述的末尾

建议您简化代码,如下所示:

开关(expr){
案例“橙子”:
文档。写下(“橙子每磅0.59美元,
”; 打破 案例“苹果”: 写下(“苹果每磅0.32美元,
”; 打破
HC\uu的示例中

中断是可选的,但如解释所示:


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

提示:set document.getElementById(“maand”)作为变量,而不是重复它。var target=document.getElementById(“maand”),然后使用target.innerHTML(…);@Diodeus或更简单的方法:将monts存储在变量中,并将其附加在swich语句之后。@OP:您缺少的
break;
语句(和默认值),因此您总是以最后一个值结束。
function checkmaand() {
    document.getElementById("maand").innerHTML = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][new Date().getMonth()];
}
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;