Вход

Просмотр полной версии : Страница не открывается со скриптом


ArtyomZaitsev
29.11.2017, 23:03
Добрый день, может кто объяснить почему мой скрипт рушит страницу? Не могу открыть, консоль также не открывается на данной странице. Задача была следующей: "Напишите функцию getLastDayOfMonth(year, month), которая возвращает последний день месяца.
Параметры:
year – 4-значный год, например 2012.
month – месяц от 0 до 11.
Например, getLastDayOfMonth(2012, 1) = 29 (високосный год, февраль)."
function getLastDayOfMonth(year, month){
var date = new Date (year, month);
var dateM=date.getMonth();

while (dateM==month){
var i=date.setDate(date.getDate()+1);
}
return i;
};

alert(getLastDayOfMonth(2012, 1));

рони
29.11.2017, 23:27
ArtyomZaitsev,
бесконечный цикл, строка 5, условие всегда true

рони
29.11.2017, 23:29
ArtyomZaitsev,
function getLastDayOfMonth(year, month){
var date = new Date (year, month+1, 0);
return date.getDate();
};

alert(getLastDayOfMonth(2012, 1));

рони
29.11.2017, 23:39
ArtyomZaitsev,
function getLastDayOfMonth(year, month){
var date = new Date (year, month);
var dateM=date.getMonth();
var i = 28;
while (dateM==month){
date.setDate(++i);
dateM=date.getMonth();
}
return --i;
};

alert(getLastDayOfMonth(2012, 1));

ArtyomZaitsev
29.11.2017, 23:49
Спасибо большое!

Lion777
29.11.2017, 23:58
Плин ронни )), я методом тыка это сделал )) и меня опередили

function getLastDayOfMonth(year, month) {
var date = new Date(year, month, 0);
return date.getDate();
}
alert(getLastDayOfMonth(2012, 2))

только зачем month+1 ?

или вот такой вариант вначале придумал

function getLastDayOfMonth(year, month) {
var date = new Date(year, month - 1, 32);
return (32 - date.getDate());
}
alert(getLastDayOfMonth(2012, 2))

рони
30.11.2017, 00:47
только зачем month+1 ?
getLastDayOfMonth(2012, 1) = 29 (високосный год, февраль)."
:-?