Когда я устанавливаю maxdate на основе текущей даты, возникает проблема.
Вот код:
var minDate = new Date();
var maxDate = new Date();
function myFunction() {
maxDate.setDate(new Date().getDate() + 60);
document.getElementById("demo").innerHTML = maxDate;
}<p>Click the button to display the maxDate</p>
<button onclick = "myFunction()">Try it</button>
<p id = "demo"></p>Каждый раз, когда я нажимаю кнопку, дата увеличивается на 60 дней.
Я хочу подтвердить его с помощью даты, введенной в поле ввода даты, моя проверка приведена ниже.
Дата, введенная во входных данных, должна быть между текущей датой и 60 днями позже текущей даты.
Output:
On click of button.
1st Click : Tue Aug 28 2018 11:36:52 GMT+0530 (India Standard Time)
2nd Click : Sun Oct 28 2018 11:36:52 GMT+0530 (India Standard Time)
3rd Click : Fri Dec 28 2018 11:36:52 GMT+0530 (India Standard Time)
Пожалуйста помоги.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


new Date().getDate() возвращает день месяца для текущей даты по местному времени - моя текущая местная дата - 29 June 2018, поэтому она возвращает 29.
Это означает, что new Date().getDate() + 60 возвращает 89.
maxDate.setDate(89) устанавливает день объекта maxDate относительно начала текущего установленного месяца.
maxDate находится в глобальной области видимости - это означает, что текущий установленный месяц в maxDate изменяется после каждого щелчка.
Попробуйте сделать maxDate локальным для вашей функции:
function myFunction() {
let maxDate = new Date();
maxDate.setDate(new Date().getDate() + 60);
document.getElementById("demo").innerHTML = maxDate;
}<p>Click the button to display the maxDate</p>
<button onclick = "myFunction()">Try it</button>
<p id = "demo"></p>Вы также должны добавить, что newDate.getDate() возвращает в настоящее время. людей запутает число 89 или как оно появилось
Я думаю, что ОП уже понимает первые 3 абзаца. Четвертое может быть откровением. Может быть лучше, если myFunction принимает дату для maxDate, но по умолчанию используется текущая дата, например function myFunction(maxDate = new Date()){...}. ;-)
Что значит увеличение на 60 дней? При каждом клике увеличивается на 60 дней? Или он показывает +60 дней с текущей даты при каждом нажатии