1. Еще несколько раз пройтись по теории, а потом думать, что делать дальше.
Если есть желание стать
Доктором JavaScriptовских наук, или писать статьи по этой теме :)
3. Выполнять практические задачи.
Да, и только так. Без практики смысла от теоретических знаний не будет никакого. Существует множество тонкостей, которые в теории не учитываются. Тем более мир меняется не по дням, а по секундам!
Лично я предпочитаю 3 вариант, но не знаю, где именно брать эти задачи.
Самостоятельно ставить и решать. Например, сделать свой
framework, или свой
framework для другого
framework :) Без шуток, будет хорошая практика, даже если ничего не выйдет.
Игры можно попробовать делать, тоже неплохая будет практика. Начать с какой-нибудь игры типа: угадай пару, ну или мелодию, в крайнем случае слово :) Если что-то получится, можно разместить в каком-нибудь
ВКонтакте, а там и более тесно интегрироваться, тоже полезное дело.
При разработке сайтов можно поиграть с созданием всякого рода менюшек, деревьев. Поработать с асинхронными запросами.
Главное чтобы это было самому интересно и приятно делать. Если пытаться через не хочу, то результатов придется ждать долго и не факт, что они будут.