Леонид @lkoida
Web developer
Что ты такое, замыкания в JavaScript?
4 min
27KВ этой статье я постараюсь подробно разобрать механизм реализации замыканий в JavaScript. Для этого я буду использовать браузер Chrome.
Начнем с определения:
Если вам что-то не понятно в этом определении, это не страшно. Просто читайте дальше.
Я глубоко убежден, что разбираться в чем-либо проще и быстрее на конкретных примерах.
Поэтому предлагаю взять фрагмент кода и пройтись по нему вместе с интерпретатором от начала до конца по шагам и разбираться по ходу, что происходит.
Итак, приступим:
Рисунок 1
Начнем с определения:
Замыкания - это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыкании, 'запоминает' окружение, в котором она была создана.MDN
Если вам что-то не понятно в этом определении, это не страшно. Просто читайте дальше.
Я глубоко убежден, что разбираться в чем-либо проще и быстрее на конкретных примерах.
Поэтому предлагаю взять фрагмент кода и пройтись по нему вместе с интерпретатором от начала до конца по шагам и разбираться по ходу, что происходит.
Итак, приступим:
Рисунок 1
+25
Прокачиваем разработку на Vue с помощью паттернов: HOC
3 min
26KПаттерн HOC (Higher Order Component) очень популярен у React-разработчиков. А вот Vue-разработчики его как-то обходят стороной. Очень зря. Попробуем разобраться в этом.
+21
Обзор Vue.js 2.6
6 min
26KПривет, Хабр!
Совсем скоро должна выйти новая версия Vue.js — 2.6. Под катом вы найдете обзор новых фич следующей версии, включая новый синтаксис слотов, Vue.observable() и много чего еще!
Совсем скоро должна выйти новая версия Vue.js — 2.6. Под катом вы найдете обзор новых фич следующей версии, включая новый синтаксис слотов, Vue.observable() и много чего еще!
+42
Дайджест свежих материалов из мира фронтенда за последнюю неделю №347 (7 — 13 января 2019)
3 min
13KПредлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
+27
Дайджест свежих материалов из мира фронтенда за последнюю неделю №341 (26 ноября — 2 декабря 2018)
4 min
14KПредлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
+35
+37
Дайджест свежих материалов из мира фронтенда за последнюю неделю №340 (19 — 25 ноября 2018)
4 min
13KПредлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
+24
Дайджест свежих материалов из мира фронтенда за последнюю неделю №339 (12 — 18 ноября 2018)
4 min
14KПредлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
+31
Как настроить установку переменных окружения Nuxt.js в рантайме, или Как сделать всё не как все и не пожалеть
5 min
12K(Иллюстрация)
Senior web developer’ы Антон и Алексей продолжают рассказ о непростой борьбе с Nuxt. В предыдущем раунде битвы с этим фреймворком они показали, как запустить проект на Nuxt так, чтобы все были счастливы. В новой статье поговорим о реальном применении фреймворка.
Мы начали переписывать проект с огромным техническим долгом. Месячная аудитория составляла 6-7 млн. уникальных посетителей, но существующая платформа доставляла слишком много проблем. Поэтому было решено отправить ее на пенсию. Само собой, производительность была нашим наибольшим опасением, но также не хотелось просесть по SEO.
После пары раундов обсуждения решили не полагаться на традиционный подход с только серверным рендерингом — но и не загонять себя в ловушку клиентского рендеринга. Как итог мы начали строить решение на базе Nuxt.js.
+29
Хватит делать сайты с бесконечной прокруткойǃ
6 min
75KTranslation
TL;DR. Хотя бесконечная прокрутка подходит для некоторых случаев, но она может создать проблемы.
Бесконечная прокрутка может быть дезориентирующей, неконтролируемой и вызывать стресс у пользователей.
В этой статье мы объясним, почему нужно прекратить создание сайтов с бесконечной прокруткой. Но для начала рассмотрим краткую историю вопроса.
+116
Вам следует задуматься о часах практики
4 min
14KTranslation
Если вы музыкант или знаете кого-то из музыкантов, то вам знакомы такие понятия как «практика» и «репетиция». Они имеют совершенно разное значение.
Большинство музыкантов имеют «священные» часы практики. Они делают это не для артистов, группы или кого-то еще. Это время для того, чтобы сесть и сосредоточиться на технике, песне, которую они хотят изучить, или на том, что их сердце желает.
Большинство музыкантов имеют «священные» часы практики. Они делают это не для артистов, группы или кого-то еще. Это время для того, чтобы сесть и сосредоточиться на технике, песне, которую они хотят изучить, или на том, что их сердце желает.
+11
+44
+58
+45
Дайджест свежих материалов из мира фронтенда за последнюю неделю №329 (27 августа — 2 сентября 2018)
4 min
15KПредлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
FYI: На следующей неделе дайджеста не будет в связи с отпуском.
FYI: На следующей неделе дайджеста не будет в связи с отпуском.
+32
Ускорение сайтов с помощью «ранних подсказок»
6 min
9.8KTranslation
Сайты по-прежнему загружаются слишком медленно. В самый критический момент процесса загрузки канал зачастую практически полностью простаивает. Новая технология, предложенная инженером Кадзухо Оку из Fastly, поможет лучше использовать эту критическую первую пару секунд.
Вы когда-нибудь загружали сайт на телефоне — и смотрели в течение 10 секунд на страницу без текста? Никто не любит сидеть и глядеть на пустой экран, пока загружается какой-то необычный шрифт. Поэтому есть смысл перенести загрузку таких важных вещей на максимально раннее время. Предзагрузка Link rel=preload должна была частично решить проблему. Первым делом браузер парсит HTTP-заголовки, так что это идеальное место, чтобы указать на предварительную загрузку ресурса, который точно понадобится позже.
Вы когда-нибудь загружали сайт на телефоне — и смотрели в течение 10 секунд на страницу без текста? Никто не любит сидеть и глядеть на пустой экран, пока загружается какой-то необычный шрифт. Поэтому есть смысл перенести загрузку таких важных вещей на максимально раннее время. Предзагрузка Link rel=preload должна была частично решить проблему. Первым делом браузер парсит HTTP-заголовки, так что это идеальное место, чтобы указать на предварительную загрузку ресурса, который точно понадобится позже.
+15
Несколько слов о градиентах
5 min
22KRecovery Mode
Всем привет! Сегодня хочу поговорить немного о градиентах, популярных сайтах, предоставляющих пользователям возможность выбирать и/или генерировать их, а так же, о нескольких градиентах, которые я люблю и применяю в различных проектах. Возможно, кому-то из вас они тоже понравятся.
Сегодня мало кто не знает, что такое градиенты и как их применять в разработке. Если верить статьям, то в 2018 году, применение ярких и насыщенных градиентов — это некий тренд.
+7
Стриминг видео через браузер со сверхнизкими задержками (и WebRTC!)
4 min
8.7KTranslation
Пока первые early adopters примеряют в свои проекты наши новые видеоконференции (до 100 человек!) мы продолжаем рассказывать об интересном из мира передачи голоса и видео с участием браузера. Про видеоконференции тоже расскажем, но позже — когда накопится критическая масса пользователей и соберется интересная статистика. А сейчас я перевел и адаптировал для нас рассказ Dr. Alex о месте разных протоколов при передаче видео с низкими задержками. Рассказ по сути является ответом на другую статью, и автор вместе с рассказом указывает на ошибки и неточности, которые допустили его коллеги по цеху.
+15
Дайджест свежих материалов из мира фронтенда за последнюю неделю №327 (13 — 19 августа 2018)
4 min
15KПредлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
+35
Information
- Rating
- Does not participate
- Registered
- Activity