Вопрос

Я пытаюсь получить текущий месяц, а затем поместил месяц в 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";
}
}

Но по какой -то причине результат - декабрь (сейчас ноябрь для людей в будущем)

Итак, мой вопрос: почему он это делает и как это исправить?

Еще одна вещь: я должен сделать это с JavaScript.

Это было полезно?

Решение 4

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_ .

Перерыв необязательный, но, как покажет объяснение:

Необязательный оператор Break, связанный с каждой меткой корпуса, гарантирует, что программа выходит из выключателя после выполнения соответствующего оператора, и продолжает выполнять при следующем переключении оператора. Если перерыв опущен, программа продолжает выполнение в следующем операторе в операторе Switch.

Другие советы

Вы должны добавить 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;
   ...
}
}

и так далее

Вы упускаете «перерыв» в конце каждого случая.

Как упоминали другие, проблема в том, что вы забыли добавить break; В конце каждого из ваших заявлений.

В качестве предложения вы можете упростить свой код, как это:

function checkmaand() {
    document.getElementById("maand").innerHTML = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][new Date().getMonth()];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top