О блоге.
Этот блог предназначен для тех, кто решил изучить, понять и научиться программированию на чистом JavaScript, без привлечения каких-либо библиотек или фреймворков. Блог не претендует на статус учебника, да, по-сути, им и не является, но при этом он ориентирован на тех, кто делает свои первые шаги в изучении программирования на этом языке. Статьи, опубликованные на страницах блога, заинтересуют тех, кто уже осилил учебник по программированию на JavaScript и хочет как-то реализовать полученные знания на практике.
При этом, я старался, как можно подробнее описывать представленный js-код, объяснять, почему решил реализовать его так, а не иначе. Не смотря на это, от вас, всё же, потребуются знания основ JavaScript и, если их окажется не достаточно, то рекомендую прекрасный online-учебник, с помощью которого вы можете восполнить недостающие знания.
На страницах блога представлены решения типовых задач, которые встречаются на большинстве сайтов и без которых не обходится ни один лендинг. Кроме этого, мы рассмотрим и уникальные реализации возможностей языка JavaScript и, даже напишем достаточно сложный вариант популярной игры «Морской бой», в которой будет реализован искусственный интеллект противника.
Многие могут возразить, зачем в наше время нужен Vanilla JavaScript, когда есть такие мощные библиотеки и фреймворки типа jQuery, с тысячами подключаемых к ним плагинов на все случаи жизни. Я не отрицаю использование jQuery, но при этом нужно чётко понимать:
1. когда можно использовать jQuery;
2. когда нужно использовать jQuery;
3. когда можно обойтись без использования jQuery.
В-первую очередь, блог рассчитан на тех, кто не хочет остановиться на уровне «крутого подключателя плагинов», а тех, кто хочет пойти в своём развитии дальше и, даже очень может быть, сам станет писать эти плагины.
Да и jQuery не всемогущ — он ни чем вам не поможет, например, при работе с Canvas, ни какой плагин jQuery не заменит чистый JavaScript при написании искусственного интеллекта для игры «Морской бой» и т. д.
В заключение хочу добавить, что приведённый на страницах блога код ни в коем случае не претендует на «истину в последней инстанции». Буду очень рад, если вы в комментариях предложите свою, более эффективную реализацию, тех или иных участков кода.