Я сам понимаю что пишу в таком случае говнокод и костыли. Сам же и подчеркнул что пришлось 3 раза все переписывать почти с 0 так как заходил в тупик(Пример. делал запрос XMLHTTPREQUEST на JS, пришлось переписать все под использование AJAX, так как силами нативного JS не осилил свою задачку). Но просто ИТ сфера розрослась до таких масштабов что просто нереально розбираться во всем. Можна всю жизнь учиться-учиться и никогда не начать реализовывать свои знания. Я думаю нет человека знающего все существующие функцыи JS. А с каждым фреймворком информацыи для изучения все больше и больше... Да и пока учишь одно - появляеться новое. И можна попасть в исследовательский ступор. Да и почти каждый код можна всегда усовершенствовать, а значет все говнокодят. Надо с чегото начинать.
П. С. Начиная свой проект я незнал ни одной функцыи JS. Знал теги HTML(1 день изучения), базовые понятия CSS(1 день изучения), базовые понятия програмирования на другом языке которым увлекался когда писал ботов для одной ММОРПГ в детстве. Но вроде пока с задачкой своей справляюсь. К примеру сейчас стоит задача которая требует знаний регулярных виражений. Надо будет сегодня почитать.