Ответ на пост «Трудности с изучением JS»

Ответ для самых начинающих программистов на любом языке.

Практика программирования это отдельный предмет для изучения. При нормальном учебном процессе практика усваивается сама собой в школе и на младших курсах универа. Поэтому отдельных книг по ней особо и нет (буду рад, если кто посоветует пару толковых!).

По JavaScript есть два прекрасных текстовых ресурса: https://learn.javascript.ru/ и https://developer.mozilla.org/ru/docs/Web/JavaScript для других языков найти сложнее, но почти всегда можно. Например A byte of Python - бесплатная книга по Питону.

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

Сам придумывай себе задачи. Освоил текстовый ввод-вывод и условный оператор? Делай текстовый квест, калькулятор. Освоил простецкий цикл? Думай как с его помощью можно улучшить предыдущие работы (ещё как можно). Теперь конкретно для JavaScript. Можно в HTML делать инпуты и кнопки. Тег <input type="text" id="myinput">. Кнопке можно назначить обработчик события, например onclick="make()". И поехали эксперименты: создаешь функцию make(), в ней пишешь код. Чтобы получить доступ к содержимому поля ввода input достаточно document.getElementById("myinput").value - используй эту запись как переменную.

Автору исходного поста, если ты в теории добрался уже до мутации и прототипов а в практике проблемы - это уже беда. Теория сильно опередила практику. Тебе нужно убедиться, что ты в состоянии создать нормальную HTML страницу для практики. Базовый HTML изучил? Можешь накидать кнопок, инпутов, табличек? Да так, чтоб красиво было? Рекомендую для новичка Bootstrap. Для взаимодействия с тегами на странице возьми jQuery. Он позволяет найти тег или группу тегов по условию, и манипулировать этими тегами.

И начинай создавать простые но интерактивные страницы. Например создай калькулятор с кнопочками, сначала простецкий. Потом такой как в Windows. Тебе нужно научиться пользоваться условными операторами, писать условия. Научиться работать с массивами и циклами. Тут как практика - алгоритмы сортировки. Изучи функции, научись выделять осмысленный кусок кода в отдельную функцию. Научись нормально передавать параметры в функцию, никаких глобальных переменных! Научись возвращать значение из функции. Освой рекурсию как закрепление знаний о функциях. Только потом берись за ООП классы объекты прототипы и далее.

А дальше фреймворки. Выбери React или Vue и разбирайся зачем оно вообще.

Другие посты об образовательной платформе ищите по тэгу GeekBrains. Всю необходимую информацию и отзывы ищите в нашем специальном разделе. Там вы найдёте все актуальные курсы GeekBrains.
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Вот тут я немного не понееел. Сначало то, сё..., а потом ООП. Вы блеать серьезно? Пост про JS! Там везде ООП! Например: достать колличество элементов массива (обратиться к методу класса length, ООП), даже чтоб получить ключ элемента массива - нужно обратиться к методу или свойству name, ООП. Таи везде ООП, потому что всё - объекты.


Что вы имели ввиду?

раскрыть ветку (3)
Автор поста оценил этот комментарий

Речь шла об изуче6ии с нуля. Для начала при изучении достаточно "в этом языке это пишется так". А как дело дойдет до объектов как раз и станет понятно почему оно так пишется а не иначе. Нельзя сходов на первом занятии объяснять что такое объект, потому что ты не сможешь 4ратко и внятно объяснить щачем жта штука нужна, почему все без неё жить не могут.

раскрыть ветку (2)
Автор поста оценил этот комментарий

Я  начинал изучать js. До этого был php. И по привычке по справочникам ищу "функции для работы с массивами", "функции для работы со строками". А их нет! Смотрю примеры и охреневаю: для работы с массивом например вызывается метод обьекта. Но этот объект создал я! При создании я его этими методами не наделял! И вообще я создавал массив, какого лешего он объект!? Какого у него появились методы!? Бог с ним что он объект, можно смириться. Но я же создавал его с нуля, не экстендил и не имплеменили его ниоткуда!


В общем некоторый когнитивный диссонанс я испытал. Но это это в прошлом. Позже я благополучно забил на эти ваши кодинги, верстки и программирования)

раскрыть ветку (1)
Автор поста оценил этот комментарий

Если ты переучиваешься с другого языка то и разговор с тобой другой будет. Десять минут лигбез и пошли углубляться в детали. Новичку нужно усвоить базовые концепции, они для него дикие. Что такое переменная, что такое присваивание, что такое выражение. До понимания, что такое объект и зачем так все усложнять нужно дорасти. Мне кажется хорошим примером последовательности изложения javascript.ru и ему подобные как раз потому что там все усложняется постепенно.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку