Необходимо иметь взаимодействие, и JS выбирается для его реализации, что может рассматриваться как первый тест парного программирования. Я написал часть отображения в HTML, и кнопка, нажавшая функцию события триггера, IS Check ();
Кода -копия выглядит следующим образом:
функция oncheck () {
var Year = Document.GetElementById (Год)
var month = document.getelementbyid (месяц);
var index1 = month.selectedIndex;
var day = document.getElementbyid (день);
var index2 = day.selectedIndex;
var theday = day.options [index2] .value;
// часть суждения входного значения
...
// Вызов основных функций
Дни (они, они, Тедэй);
}
Дни основной функции следующие:
Кода -копия выглядит следующим образом:
Функциональные дни (год, месяц, день) {
var Days = 0;
// Накопленное количество месяцев
для (var i = 1; i <месяц; i ++) {
Switch (i) {
// ситуация большого месяца еще 31
Случай 1:
Случай 3:
Случай 5:
Случай 7:
Случай 8:
Случай 10:
Случай 12: {
Дни += 31;
перерыв;
}
// Ситуация Xiaoyue добавляет 30
Случай 4:
Случай 6:
Случай 9:
Случай 11: {
Дни += 30;
перерыв;
}
// Ситуация в феврале будет добавлена в соответствии с типом года
Случай 2: {
if (isleapyear (год)) {
Дни += 29;
}
еще {
Дни += 28;
}
перерыв;
}
}
}
день = день * 1;
Дни += день;
var date0 = новая дата (год, 0,1);
// alert (date0.getday ());
var date1 = новая дата (год, месяц-1, день);
// предупреждение ((дни + date0.getday () + 6)/7);
var nthofweek = math.floor ((дни + date0.getday () + 6)/7);
// предупреждение (nthofweek);
var Today = new Array («Воскресенье», «Понедельник», «Вторник», «Среда», «Четверг», «Пятница», «Суббота»);
//day.getday ();
Alert («Эта дата - это«+Days+»Day/N»+»года - это«+nthofweek+»Weekly»+сегодня [date1.getday ()]);
}
В процессе отладки возникали много неожиданных ошибок, таких как ошибки расчета, вызванные несоответствием типа, такими как округление чисел;
С помощью своих товарищей по команде он отвечает за просмотр и помощь в ловке ошибок, и я отвечаю за реализацию и кодирование;
В последней части, в тесте входных значений, мы хорошо помогали друг другу, проанализировали различные входные ситуации, охватывали различные возможные аварии и быстро завершили улучшение функций;
Ниже приведен код, чтобы определить, разрешено ли входное значение:
Кода -копия выглядит следующим образом:
if (isnan (они и
Alert («Ввод неверный, пожалуйста, повторно введите»);
возвращаться ;
}
if ((themonth == 2 && theday> 29 && isleapyear (the hear)) || (themonth == 2 && theday> 28 &&! IsleApyear (themear))) {
Alert («Вход неверен, пожалуйста, повторно введите»);
возвращаться ;
}
if ((themonth == 4 || themonth == 6 || themonth == 9 || themonth == 11) && theday == 31) {
Alert («Ввод неверный, пожалуйста, повторно введите»);
возвращаться ;
}