Это сообщение было изначально опубликовано 12 марта 2020 года в разделе Мой блог.

Обновление: вчера я закончил второй раунд своего бюджетного приложения! После этого я удалил все функции из приложения (но оставил функцию/метод и имена переменных), чтобы я мог пройти и заполнить все самостоятельно.

Легко почувствовать, что я на самом деле не учусь чему-то новаторскому, но я действительно думаю, что это повторение во все более сложной форме помогает мне *очень*.

Во всяком случае, я научился этому изящному трюку, чтобы динамически отображать дату на веб-странице, используя объект Date в JavaScript. Вот как это будет выглядеть при использовании функции:

let displayMonth = function() {
   let now, year, month, months;
   now = new Date();
   year = now.getFullYear();
      
   months = ['January', 'February', 'March',
   'April', 'May', 'June', 'July', 'August',
   'September', 'October', 'November', 
   'December'];
   month = now.getMonth();
   document.querySelector(***).textContent = 
   months[month] + ' ' + year;
  };

Таким образом, если бы этот код работал сегодня, он отобразил бы на странице «март 2020 года», а затем в следующем месяце он динамически отобразил бы «апрель 2020 года».

Переменная now извлекает новый экземпляр объекта Date с сегодняшней датой. Переменная year использует этот экземпляр для получения текущего года с помощью метода getFullYear объекта Date.

Я создаю массив months с 12 месяцами года, а затем мы можем использовать метод getMonth для переменной now, чтобы вернуть число 0-11 в зависимости от того, какой сейчас месяц. В этом примере для марта возвращается 2 (поскольку массивы начинаются с 0).

Наконец, я обновляю текстовое содержимое любого класса, который я запрашиваю (это будет просто обертка в файле HTML, где я хочу, чтобы дата находилась на сайте) до массива months с определенным индексом месяца (в данном случае 2 для марта), пробел и соответствующую переменную year.

Вуаля!