👁🗨 CODORUM
Open in Telegram
🟣 Канал создан с целью совместного обучения программированию на языке JavaScript 🟨 ✔️ Канал подойдёт для тех кто желает: ➖ научиться программировать на языке JavaScript ➖ расширить свой кругозор в знаниях функций на JS 🎥 Ютуб канал: youtube.com/@codo
Show more773
Subscribers
-124 hours
-87 days
-1630 days
Posts Archive
773
Callback-функция – это функция, которая передается в качестве аргумента другой функции 👩👧👦
Она вызывается после завершения определенной операции или события в главной функции 🏁
👉 В видео мы рассмотрели пример таких функций:
➖ math – главная функция
➖ plus и minus – сallback-функции, передаваемые главной функции в качестве аргументов
При вызове главной функции, указывается операция, в качестве которой выступает одна из callback-функций 👁🗨
Код из видео:
JavaScript
function math(x, y, operation) { // ✦ Главная функция
return operation(x, y);
}
function plus(x, y) { // сallback-функция
return x + y;
}
function minus(x, y) { // сallback-функция
return x - y;
}
console.log(math(1, 9, plus));
console.log(math(9, 1, minus));773
Как создать круговую анимацию загрузки в CSS? 🔘
Для этого достаточно прописать 2 класса и анимацию вращения в @keyframes 🔄
👉 На гифке пример стилизации классов:
➖ в классе loading указано соотношение контейнера 1 к 1, радиус скругления 50%, задана анимация из @keyframes
➖ в классе line задан размер контейнера, толщина обводки, прозрачность для одной из сторон обводки
Идея заключается в том, что мы скруглили квадратную обводку внутри контейнера. Поскольку 1/4 квадратной обводки невидима, то линия (обводка) будет длиной в 1/4 круга 👁🗨
Код из гифки:
// index.html
<span className='loading line'/>
/* index.css */
.loading {
aspect-ratio: 1/1;
border-radius: 50%;
animation-name: spin;
animation-iteration-count: infinite;
}
.line {
width: 50px;
border: 6px solid black;
border-top-color: transparent;
animation-duration: 1s;
}
@keyframes spin {
from { transform: rotate(0deg) }
to { transform: rotate(360deg) }
}773
🔘 Для чего используется метод Array.prototype.reduce() в JavaScript?
Вопрос средней сложности ✴️
773
🔘 Для чего используется метод Array.prototype.reduce() в JavaScript?
Вопрос средней сложности ✴️
773
useEffect – это React хук, который используется для регулирования хода жизни компонентов. Выполняет эффекты после загрузки компонента, обновления состояний или при их размонтировании ⚛
На гифке пример использования хука useEffect в связке с хуком useState: есть компонент с кнопкой, которая увеличивает значение переменной count по нажатию 🔼
➖ хук useState сохраняет и обновляет значение переменной count – "
const [count, setCount] = useState(0)"
➖ а хук useEffect обновляет заголовок страницы, отображая актуальное значение count – "document.title = Счетчик: ${count}"
Код из гифки:
import React from 'react';
import { useState, useEffect }
from 'react';
const MyComponent = () => {
const [count, setCount] = useState(0);
useEffect(() => {
document.title = Счетчик: ${count};
}, [count]);
return (
<button onClick={() => setCount(count + 1)}>
добавить
</button>
);
};
export default MyComponent;773
Благодаря методу fill можно заполнить массив или его отрезок заданным элементом 🫗
👉 метод fill принимает 3 параметра:
➖ value – обязательный параметр обозначающий значение, которым должен быть заполнен массив
➖ start – начало отрезка, который должен быть заполнен заданным значением
➖ end – конец отрезка
Необязательные параметры start и end указываются в виде индексов элементов массива: значение параметра start – начало отрезка, значение параметра end = элемент массива, до которого заканчивается отрезок (он не учитывается в самом отрезке) 👁🗨
773
Часто ли вы нуждаетесь в услугах веб-дизайнера? 🎨
Если да, то какой категории дизайн вам чаще всего необходим? 🌆
773
Пост для новичков канала, которые ещё не в курсе о сайте-визитке на ReactJS, который мы разработали относительно недавно ⚛️
Плейлист с частями, в которых мы поэтапно разрабатываем сайт-визитку шаг за шагом доступен на нашем ютуб канале 🪪
В рамках частей мы также рассмотрели интересные моменты html верстки 🟧, стилизации и создании разных CSS анимаций 🟦
Подробности в первой части — анонс макета и подготовка среды 👈 жми, чтобы посмотреть.
На финальный результат можно взглянуть в 20-й части 👈
773
Меняем цвет иконки при hover наведении в CSS 👆🏻
Напрямую цвет изображений CSS свойствами поменять нельзя (png изображений в частности), поэтому смены цвета иконки при hover наведении можно добиться несколькими способами, выбор которых зависит от цели 🌓
В видео разобран случай, где цвет кнопки с иконкой меняется между контрастными тонами. В этом случае достаточно воспользоваться свойством filter со значением invert для смены цвета иконки на противоположный 🔲
Вообще лучше использовать векторные svg иконки, в случае с которыми поменять цвет некоторыми CSS свойствами все же можно, в отличие от png изображений, например 👁🗨
773
Рассмотрим тип объекта Map в JavaScript ⚜️
Map – это тип объекта, который используется для хранения пар ключ-значение и обеспечения быстрого доступа к значениям по ключу. Он предоставляет эффективный способ создания ассоциативных массивов и их управления, где ключами могут быть любые значения, а не только строки, как в обычных объектах 🔗
Для типа объекта Map существует большое количество методов, основные из которых включают: добавление, проверку и удаление элементов (пар ключ-значение) 👁🗨
773
Продолжаем рубрику тестовых вопросов разной сложности. Сегодня вопрос высокой сложности 🅰️
🔘 Что возвращает метод Promise.allSettled() в JavaScript?
773
Нужен продаваемый дизайн? – обращайтесь к Воркфорду 🖌
Это именно тот человек, который создал абсолютно весь дизайн связанный с нашими телеграм и ютуб каналами, тикток и инстаграм профилями! ❤️🔥
Все видео тоже были смонтированы ним! 🔥
Сейчас ему необходимо наполнить своё портфолио под псевдонимом Workford, поэтому он готов бесплатно создать превью для видео ютуб, рекламный баннер/креатив любой стилистики и на любую тему всем желающим ⚜️
Единственное условие: оставить честный отзыв после выполнения заказа 💬
👉🏻 Телеграм канал Воркфорда 🪐
773
Если необходимо распаковать элементы массива таким образом, чтобы каждый элемент массива был присвоен новой самостоятельной переменной – можно воспользоваться Rest оператором 📤
➖ Такой подход называется деструктивным присваиванием: объявляем сразу несколько новых переменных (перечислив их в квадратных скобках). Элементы, которые не нужно присваивать отдельным переменным можно объединить в массив указав его название в конце конструкции и Rest оператор перед ним 👁🗨
Если необходимо распаковать элементы массива в новый массив – можно воспользоваться Spread оператором. Для этого при объявлении нового массива нужно указать название нового массива в квадратных скобках и Spread оператор перед названием 📥
773
Как поменять цвет выделения текста в CSS? 🖌
Для этого нужно изменить 2 свойства в псевдоэлементе ::selection 💠
По умолчанию цвет выделения синий, а цвет текста при выделении белый 👁🗨
👉 Чтобы поменять цвета:
➖ в свойстве background-color задаем цвет фона выделения
➖ в свойстве color задаем цвет текста при выделении
Код из гифки:
::selection {
/* цвет выделения */
background-color: #b685ff;
/* цвет текста на фоне
выделения */
color: #f7f4ff;
}773
🍾 С наступающим или наступившим 2025 годом! 🎄
Желаем всем, чтоб 2025 год стал для вас годом, в котором вы побьете свои собственные рекорды в вашей профессиональной деятельности, добьетесь новых высот в ваших увлечениях, начинаниях и любых жизненных аспектах 📈
Новичкам, только приступившим к изучению программирования желаем легкого старта! 🏁
🎊 Спасибо за то что читаете, желаем отлично встретить Новый 2025 год! 🎉
773
componentDidMount – это метод жизненного цикла в компонентах React, срабатывающий сразу после добавления какого-либо компонента (в который был добавлен метод) на страницу (или в DOM) ⚛️
То есть код внутри метода не срабатывает при полном запуске и работе React проекта, а только после встраивания компонента на страницу, в следствие выполнения какого-то действия пользователем, например 🏌️♂️
В примере на скрине: когда выбирается категория "Одежда", компонент Clothes добавляется на страницу, и вызывается componentDidMount 👁🗨
👉 На практике метод используется для:
➖ загрузки данных с сервера
➖ настройки подписок или таймеров
➖ выполнения действий, требующих доступа к DOM
773
Скоупинг – понятие, охватывающее несколько аспектов, направленных на правильное управление переменными и функциями кода. Для избежания конфликтов и обеспечения прозрачного и безопасного взаимодействия элементов программы 🧿
Основные аспекты скоупинга: Объявление переменных, Объем видимости, Жизненный цикл, Поднятие, Замыкание 🔹
Рассмотрим аспект – жизненный цикл ⏱️
Все переменные в коде существует определенное время. Жизненный цикл локальных переменных, например, короче чем глобальных переменных. Всё потому, что глобальные переменные существуют в течении всего времени работы программы, а локальные только во время работы функций, например. Жизненный цикл блочных переменных обычно ещё короче 👁🗨
773
Продолжаем рубрику тестовых вопросов разной сложности. Сегодня вопрос лёгкой сложности ❇️
🔘 Что возвращает метод Array.prototype.length в JavaScript?
773
Создаём прокручиваемый контейнер как в каруселях Инстаграм 📷
Для его реализации понадобятся 2 ключевых свойства: scroll-snap-type и scroll-snap-align 🟦
Применив эти свойства при прокрутке контейнера пользователи будут попадать на ширину или высоту кратную ширине или высоте контейнера ↕️
К примеру если высота контейнера 300 пикселей - значит при прокручивании пользователь сможет останавливаться на высоте в 300, 600, 900 пикселей и так далее (в видео разобрали детальнее) 👁🗨
Код из видео:
// index.html
<div className="container">
<div className="block" style={{ background: "black" }}>
1 блок
</div>
<div className="block" style={{ background: "#9966ff" }}>
2 блок
</div>
</div>
/* index.css */
.container {
width: 200px;
height: 250px;
overflow-y: scroll;
overflow-x: hidden;
scroll-snap-type: y mandatory;
}
.block {
width: 200px;
height: 250px;
scroll-snap-align: center;
color: white;
text-align: center;
align-content: center;
}773
С помощью метода clearTimeout можно отменить выполнение отложенной функции, которая должна была выполниться через некоторое время 🧹
На скрине условный пример загрузки страницы сайта ⭕️
Если по истечению 15 секунд с момента открытия страницы медиафайлы не загрузятся (предположим у пользователя слабый интернет) - пользователь увидит сплывающее окно с сообщением про слабый интернет 📡
Если медиафайлы загрузились в течение 15 секунд - после момента их загрузки отложенная функция сплывающего окна удалится методом clearTimeout 👁🗨
