Как закреплять основы javascript на практике?

html и css знаю неплохо. Есть опыт верстки примерно 20 страничек.
Языков программирования не изучал.

Итак
1. Выучил первую часть учебника learn.javascript.ru/#book-toc-638 .Прошелся ни один раз. Около 80% задач выполнил самостоятельно.
2. Неоднократно смотрел видеоуроки Sorax, HexletUnivercity и частично Специалиста.
3. Есть печатное издание Javascript. Подробное руководство. 6 издание. Дэвид Флэнаган.
Вскользь читал эту книгу до 200 страницы.

В общем теорию знаю неплохо, единственное, что плохо понимаю, так это замыкания.
Из практики делал только задачи на learn.javascript.ru и создал программку для расшифровки ИНН (актуально для Украины), что-то вроде такого https://decode.org.ua/inn
Пытался сделать калькулятор, но пока не выходит, так как клиентский javascript еще не изучал.
Пробовал смотреть видеоуроки по angular.js, но там вообще все тяжело.

Что делать дальше?
1. Еще несколько раз пройтись по теории, а потом думать, что делать дальше.
2. Идти дальше по учебнику learn.javascript.ru и учить клиентский javascript
3. Выполнять практические задачи.

Лично я предпочитаю 3 вариант, но не знаю, где именно брать эти задачи.
Читал, что можно пробовать разобраться в библиотеках, что-то поменять. Качал исходники jQuery, но разобрать код так и не могу.
Можно на github найти проект и присоединиться к нему, но по запросу javascript ничего доступного для меня не выдает.
В общем запутался и не знаю, что делать дальше.

По html и css есть куча уроков верстки, где все становиться понятно.
В php есть уроки по созданию движков для интернет-магазина (php я не учил).
А вот что делать с javascript?
  • Вопрос задан
  • 60116 просмотров
Решения вопроса 3
theobroma
@theobroma
javascript developer (ReactJS)
Люто рекомендую www.codewars.com.
Просто чудо, что он есть. Его можно использовать для изучения многих языков. Думаю Вам, как и мне собственно, он будет полезен для освоения как JavaScript, так и CoffeeScript.
Есть 8 уровней сложности. Ко многим заданиям прилагаются тесты. Так что заодно и с Test-driven development познакомитесь. Тесты есть готовые, но можно и свои пробовать писать.
Задания можно обсудить в разделе "Discuss". Там все грамотно сделано и спойлеры скрыты.
После выполнения доступно посмотреть на решения других пользователей и проголосовать за самое находчивое решение и за "best practice". Это дает не слабый левелап.
Совет: делайте все на localhost, а после уже готовый код вставляйте для проверки в окно "Your Solution". Так проще поэтапно отслеживать код и можно потихоньку прийти к решению.
P.S. Сам как раз решаю эти задачки и активно пользуюсь learn.javascript.ru для справки.
Ответ написан
AlekseyNemiro
@AlekseyNemiro
full-stack developer
1. Еще несколько раз пройтись по теории, а потом думать, что делать дальше.

Если есть желание стать Доктором JavaScriptовских наук, или писать статьи по этой теме :)

3. Выполнять практические задачи.

Да, и только так. Без практики смысла от теоретических знаний не будет никакого. Существует множество тонкостей, которые в теории не учитываются. Тем более мир меняется не по дням, а по секундам!

Лично я предпочитаю 3 вариант, но не знаю, где именно брать эти задачи.

Самостоятельно ставить и решать. Например, сделать свой framework, или свой framework для другого framework :) Без шуток, будет хорошая практика, даже если ничего не выйдет.

Игры можно попробовать делать, тоже неплохая будет практика. Начать с какой-нибудь игры типа: угадай пару, ну или мелодию, в крайнем случае слово :) Если что-то получится, можно разместить в каком-нибудь ВКонтакте, а там и более тесно интегрироваться, тоже полезное дело.

При разработке сайтов можно поиграть с созданием всякого рода менюшек, деревьев. Поработать с асинхронными запросами.

Главное чтобы это было самому интересно и приятно делать. Если пытаться через не хочу, то результатов придется ждать долго и не факт, что они будут.
Ответ написан
DarthJS
@DarthJS
Вот тебе практическое задание:
Сделай математическую игру.
1е окно варианты выбора игры: сложение, умножение, вычетание, делени, всё вместе, 3 уровня сложности.
2е окно (среднее) выводит рандомно пример, в зависимости от выбранного в 1м окне уровня, под которым будет форма ввода ответа
3е окно результат: сколько верных ответов и сколько ошибочных, а так же сколько правильных ответов в процентном соотношении.

З.Ы. Лично из моего опыта, видеоуроки то такое, мало от них толку. Разве что в чем-то загвоздка, можно попробовать посмотреть на эту тему урок, если хорошо обьясняют. А так лучше ищи либо придумывай примеры. Выше написали про to-do, сделай чисто для себя, будешь пользоваться им в дальнейшем походу дорабатывать, когда придет идея как это туду усовершенствовать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 8
keeprock
@keeprock
1. Попытайтесь писать код без постоянно открытой документации или вообще оффлайн. Только Вы и Javascript :)

Возьмите для начала небольшой кусок кода и затем попытайтесь восстановить его по памяти из головы или придумайте что то свое. Сначала будет тяжело, но потом вы будете писать гораздо быстрее, после того как ваша память станет лучше.

Интересная практика, попробуйте.

2. Берите большие проекты на GitHub, пытайтесь вникнуть в них и не бичуйте себя если не получается сразу.

Я потратил много времени и нервов, думая что обязан понять проект за 1 день. Я ведь такой умный, почему я не могу сделать _insert_small_fix_or_feature_here_?! Иногда это не ваше незнание, а просто проект большой и запутанный. Всему свое время, главное занимайтесь каждый день.
Ответ написан
Комментировать
yurakostin
@yurakostin
Front-end developer
Учебник Ильи Кантора весьма хороший старт.
Если всё получается - проходите этот учебник дальше.
Очень много полезных вещей там узнаете.

На первом месте, конечно же, у вас должна быть практика.

Бывает крайне сложно придумать задачу самому себе.
Однако вам уже предложили хорошие варианты: игры, todo-приложение.
Также можете попробовать сделать простой плагин, который на входе получает строку и элемент. А результатом его работы будет эффект печатания переданного текста в переданном элементе.

На мой взгляд, будет полезно посмотреть, как делать плагины. На сайте jquery есть хороший туториал на эту тему. И на хабре полно статей.
Полено будет сразу делать некоторые вещи в ооп стиле. Например тот же todo.

Начинайте с простых вещей. Старайтесь доводить дело до конца.

У вас всё получится.
Ответ написан
Комментировать
@raffavvs
Решайте задачи. Я нашел крутой сайт c задачами по JS. javascript-tasks.ru

Все на русском языке
Ответ написан
Комментировать
@BNA2002
Рекомендую сайт Дмитрия Трепачева. Там можно найти много полезной практики по JS как и для новичков так и для продвинутых с решениями. old.code.mu
Ответ написан
Комментировать
Safort
@Safort
Лучше совмещать 2 и 3 варианты.
В качестве задачи возьми простую игру типа крестики-нолики, морской бой и т.д. Если создание игр пока не осиливаешь, попробуй простые приложения типа todo-листа, контакт-листа или того же калькулятора.
Ответ написан
@CoderMans
learn.javascript.ru + прохождения домашних заданий на этом сайте
Ответ написан
Комментировать
@leo_tkach
Недавно появился отличный практический курс по JavaScript. Учиться можно с самой базы и до Full Stack.
Ответ написан
Комментировать
@vasilymur
Вот здесь есть отличные мини проекты на JavaScript: практика JS
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы