У меня есть сценарий javascript, который должен определить дату, основанную на двух параметрах: дата, в которую вводит пользователь, которая передается в параметр 'date', и количество дней, которое должно быть вне первый параметр.Функция Возвращаемое значение
Функция хорошо работает до оператора возврата. Оператор return возвращает «null». Я пытаюсь выяснить, что я делаю неправильно в своем синтаксисе, чтобы вернуть обновленное значение даты. Помоги пожалуйста.
function calcDate(date, holdDays){
var expirationDate = null;
var validDate = noWeekendsOrHolidays(date); //jqueryui datepicker
if(holdDays != 0){
date.setDate(date.getDate() + 1);
if(validDate[0] == true){
calcDate(date, holdDays - 1)
} else {
calcDate(date, holdDays)
}
} else{
expirationDate = moment(date);
return expirationDate;
}
return expirationDate;
}
var expirationDate = calcDate("3/7/2016",3) //expect 3/10/2016
FYI, я также попытался заменить первый возврат внутри блока else, чтобы вернуть true; и вернуть false; Опять же, просто не знаю, где я здесь ошибся. – JuanTrev
'expirationDate' устанавливается только в том случае, если выполняется последнее' '' '' '' '' '' '' ', которое происходит только в' holdDays === 0'. – forgivenson
Вместо добавления сложности с moment.js, почему бы просто не передать фактическую дату в calcDate()? Как и в, 'calcDate (новая дата (2016, 03, 07), 3);' –