سؤال

أحاول الحصول على الشهر الحالي ثم وضع الشهر داخل 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 ، يستمر البرنامج في التنفيذ في البيان التالي في بيان التبديل.

نصائح أخرى

عليك إضافة أ 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