Это сообщение было изначально опубликовано 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
.
Вуаля!