Я пытаюсь написать функцию, которая вычисляет, сколько дней прошло и, в зависимости от значения, обновляет переменную и предупреждает эту строку.Оператор switch, никакой случай не выполнен
Я продолжаю получать «неопределенные». Правильно ли указано мое заявление о переключении?
var d = new Date();
var o = new Date(2015, 12, 7);
var todayDate = d.getDate();
var startDate = o.getDate();
var twelveDays = todayDate - startDate;
switch (twelveDays) {
case "0":
var calories = '10';
break;
case "1":
var calories = '20';
break;
case "2":
var calories = '30';
break;
case "3":
var calories = '40';
break;
case "4":
var calories = '50';
break;
case "5":
var calories = '60';
break;
case "6":
var calories = '70';
break;
case "7":
var calories = '80';
break;
case "8":
var calories = '90';
break;
case "9":
var calories = '100';
break;
case "10":
var calories = '110';
break;
case "11":
var calories = '120';
break;
case "12":
var calories = '130';
break;
}
alert(calories);
Появляется, что 'twelveDays' является числом (' 2') - и не вводит приведение для '' 2 "' - если вы делаете «twelveDays» в качестве строки, он работает: «var twelveDays =» " + (todayDate - startDate); ' – tymeJV
. Случаи должны быть как указано в @tymeJV, числовые или строковые. Как примечание, для этого нужен переключатель? ** Похоже, что это может быть упрощено var calories = (двенадцать дней * 10) + 10; ** – smcd
Вам повезло, что вам нужно рассчитать только на 12 дней. Представьте себе, что будет выглядеть эта функция, если она должна работать на протяжении всего 20-го века! (подсказка: когда код так повторяется, обычно есть лучший способ) – zvone