Обучение. JavaScript.

2. JavaScript. Синтаксис языка, понимание DOM модели, понимание того для чего и как работают джс фреймворки (к примеру прототайпджс, джквери). Способность писать многофункциональные клиентские приложения, виджеты.

На сверстанной страничке из первой части (там такое задание) есть диаложек (его тоже верстают). Потом я даю задание подключить диложек с помощью джаваскрипта. Говорю использовать библиотеку prototype.js и на ее основе строить классы.
Еще настоятельно рекоммендую книги:

Далее приведу список наиболее частых ошибок при написании джаваскрипт кода.

  • Множество классов в одном файле. Примите за правило - в одном файле один класс. Потом все джаваскрипты сжимаются в один файл, и компрессятся.
  • Хаотичное использование в каждом методе document.getElementById (в прототайпе $ или $$, что еще хуже). Надо по возможности записать ссылки на дом элементы на поля класса в инициализации один раз и потом уже использовать.
  • Отсутствие понимания, что такое контекст. И зачем в прототайпе bind и bindAsEventListener
  • Много глобальных переменных
  • Тянучка связей между классами, все классы знают про всех остальных. Дом элементы модифицируются и тоже хранят ссылки на другие обьекты. Надо же делать связи на основе событий.
  • Обьект создается прямо в джаваскрипт файле (еще лучше ситуация когда там код window.onload = function(){ new MyClass()}). Подключая этот джс на страницу получаешь кота в мешке -речи о том что потом можно будет сбилдить все джсы в один файл уже не идет.
  • Весь код прямо в штмле, код должен быть в отдельных файлах

Пока все, буду дописывать постепенно.

Возможно перед джваскриптом стоит давать ооп и рефакторинг - все что касается умения писать красивый код.



Комментарии

  1. ShadowRider
    Сентябрь 30th, 2008 | 9:11 дп

    Насчет литературы, сегодня был на Петровке помимо “Аякс в действии”, есть также книжеца этого же автора по прототипу, весьма полезна для тех, кто не знает что оно такое и с чем его едят.

  2. Октябрь 9th, 2008 | 10:27 дп

    Почему только prototype? Еще есть отличная либа называется jQuery, зачем обязательно давать одну? Давай пацанам на выбор несколько =)

Оставь комментарий