Замыкания позволяют функции запоминать переменные из своей внешней области видимости даже после завершения выполнения внешней функции.
function makeCounter() {
let count = 0;
return function() {
return ++count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2🗣️ Замыкания полезны для создания функций с внутренним состоянием, например, счётчиков или настройки приватных данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
HTML-верстальщик
Frontend разработчик - верстальщик (HTML CSS)
Frontend-разработчик / верстальщик (Тула)
Web программист Битрикс, Bitrix24
HTML-верстальщик / Junior Frontend-разработчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Узнайте о новейшем и одновременно старейшем стандарте React для доступа к данным формы, а также о том, как использовать его с TypeScript.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию
throttle, которая ограничивает количество вызовов переданной функции. Функция должна вызываться не чаще, чем один раз в указанный временной интервал. Это полезно для оптимизации производительности, например, при обработке событий скроллинга или ресайза окна.Пример кода:
log('Hello'); // Вызовется сразу
log('World'); // Игнорируется, т.к. прошло меньше 1000msРешение задачи
function throttle(func, delay) {
let lastCall = 0;
return function(...args) {
const now = new Date().getTime();
if (now - lastCall >= delay) {
lastCall = now;
return func(...args);
}
};
}
// Примеры использования
const log = throttle(console.log, 1000);
log('Hello'); // Вызовется сразу
log('World'); // Игнорируется, т.к. прошло меньше 1000ms
setTimeout(() => log('Again'), 1500); // Вызовется через 1.5 секунды
Please open Telegram to view this post
VIEW IN TELEGRAM
Интерактивный фон с эффектом при перемещении курсора. Сделан на CSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
Верстальщик Webflow и Tilda
Senior HTML-верстальщик
Графический дизайнер-верстальщик
Дизайнер-верстальщик (гибрид)
Senior Frontend Developer (Vue.JS)
Please open Telegram to view this post
VIEW IN TELEGRAM
Если ты хочешь стать настоящим мастером API, тебе нужно знать о паттерне BFF. В этой статье рассказываем, как создавать управляемую архитектуру с использованием BFF, избегая избыточной сложности и головной боли при поддержке.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
z-index управляет тем, как элементы накладываются друг на друга в трёхмерном пространстве веб-страницы. Элементы с большим значением z-index будут отображаться поверх тех, у которых значение меньше.
z-index: 1:.element1 {
position: relative;
z-index: 1;
}
.element2 {
position: relative;
z-index: 2;
}🗣 Важно помнить, что свойство z-index работает только с элементами, у которых установлено позиционирование (position: relative, absolute, fixed или sticky).
Please open Telegram to view this post
VIEW IN TELEGRAM
Tech Lead Fullstack Developer (React.js + Node.js)
Web Tech Lead (Full stack, TsNode, Vue/React)
Tech Lead (mobile)
Tech Lead (Full stack, TsNode, Vue/React)
Tech Lead (PHP/Laravel + Vue.js)
Please open Telegram to view this post
VIEW IN TELEGRAM
Делимся пятью советами, которые помогут быстро разобраться в тонкостях работы с изображениями, переменными окружения, кэшированием и управлением компонентами в Next.js.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В мире, где всё меняется быстрее, чем ты успеваешь обновлять резюме, держаться за одну карьерную траекторию — всё равно что пытаться угнаться за горизонтом. Умение перестраиваться, пробовать новое и брать на себя задачи, которые немного пугают, — вот что реально важно. И это не про «выйди из зоны комфорта», а про осознанный выбор расти и не цепляться за привычное.
Please open Telegram to view this post
VIEW IN TELEGRAM
HTML-верстальщик / Front-end разработчик
Учитель FrontEnd/Scratch
Frontend-разработчик
Frontend Developer Vue.js / Senior
Frontend-разработчик (React)
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья рассказывает об архитектуре Inverted Triangle CSS, которая помогает масштабировать и поддерживать крупные CSS проекты. Обсуждаются причины выбора, пошаговая реализация и сравнение с другими подходами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте CSS-сетку, которая меняется в зависимости от размера экрана. Используйте CSS-переменные для задания отступов и ширины колонок, чтобы легко настраивать и менять их для разных разрешений экрана.
Решение задачи
:root {
--column-gap: 20px;
--row-gap: 20px;
--column-count: 3;
}
.container {
display: grid;
grid-template-columns: repeat(var(--column-count), 1fr);
gap: var(--row-gap) var(--column-gap);
}@media (max-width: 768px) {
:root {
--column-count: 2;
}
}@media (max-width: 480px) {
:root {
--column-count: 1;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
• Family Frontend Meetup #3
• Полезные рецепты ручного создания SVG
• Глассморфизм и SVG
• Генеративная графика — не только ИИ
• Мощь CSS-масок
Please open Telegram to view this post
VIEW IN TELEGRAM
Первая часть статьи даёт правила для Handlebars в Superset. Далее — готовый код HTML + CSS, который можно сразу использовать, и разбор CSS-элементов с объяснениями.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите разметку и стили для отображения карточек товаров в сетке. Сетка должна адаптироваться к размеру экрана: на больших экранах отображать карточки в три колонки, на планшетах — в две, а на мобильных устройствах — в одну колонку. Карточки должны иметь тень, отступы и закруглённые углы, чтобы выглядеть как отдельные блоки.
Решение задачи
<div class="product-grid">
<div class="product-card">Товар 1</div>
<div class="product-card">Товар 2</div>
<div class="product-card">Товар 3</div>
<div class="product-card">Товар 4</div>
<div class="product-card">Товар 5</div>
<div class="product-card">Товар 6</div>
</div>
/* Основной контейнер */
.product-grid {
display: grid;
gap: 20px;
padding: 20px;
}
/* Стили карточек */
.product-card {
background-color:#f9f9f9 ;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
text-align: center;
}
/* Три колонки на больших экранах */@media (min-width: 1024px) {
.product-grid {
grid-template-columns: repeat(3, 1fr);
}
}
/* Две колонки на планшетах */@media (min-width: 768px) and (max-width: 1023px) {
.product-grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* Одна колонка на мобильных */@media (max-width: 767px) {
.product-grid {
grid-template-columns: 1fr;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Full Stack JavaScript Developer (Junior/Middle)
Junior Frontend Developer
Junior React Разработчик
Frontend-разработчик (junior)
PHP-разработчик (junior/junior+) / backend / fullstack
Please open Telegram to view this post
VIEW IN TELEGRAM
Стильная карточка-портфолио с анимированными кнопками. Сделан на Svg, SCSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM