Производительность имеет первостепенное значение для этих парней... Эта вещь должна быть молниеносной!
Как бы вы проверили количество дней в данном месяце?
Моя первая мысль заключалась в том, чтобы создать массив, содержащий дни данного месяца, с индексом, представляющим месяц:
var daysInMonth = [
31, // January
28, // February
31, // March
etc.
];
И затем сделайте что-то по строкам:
function validateDaysInMonth(days, month)
{
if (days < 1 || days > daysInMonth[month]) throw new Error("Frack!");
}
Но... Как насчет високосных лет? Как я могу реализовать проверку на високосные годы и поддерживать быстродействие функции?
Обновление:. Я бы хотел, чтобы вы, ребята, показали мне код, который выполняет дни проверки на месяц-високосный год.
Здесь блок-схема, описывающая используемую сегодня логику:
http://visualbasic.about.com/library/graphics/dykleapyr1-1.gif