Я использую библиотеку date.js.
Предыдущий код:
alert(incidentDate);
var deadlineDate = incidentDate;
deadlineDate.add(2).years();
alert(incidentDate);
return;
Добавление к deadlineDate
также привело к изменению incidentDate
.Небольшое чтение показало, что это потому, что объекты в JavaScript всегда назначаются по ссылке.Я нашел обходной путь (ниже), но он расцветает грязно.Должен быть какой-то более аккуратный способ сделать это, верно?
И кроме того, используемый мной обходной путь применяется только к объектам Date.Как бы я имел дело с другим типом объекта?
Текущий код:
var deadlineDate;
deadlineDate = incidentDate.toString('yyyy-MM-dd');
alert(incidentDate);
alert(deadlineDate);
deadlineDate = Date.parse(deadlineDate);
alert(incidentDate);
alert(deadlineDate);
deadlineDate.add(2).years();
alert(incidentDate);
alert(deadlineDate);
return;
Примечание. Все предупреждения предназначены только для отладки.