Мой фон находится на C, и я выбрал PHP, mySQL, HTML, CSS без лишних проблем.
Но я нахожу Javascript/jQuery на удивление труднодоступным. Очень расстраивает. Почему?
-
Кажется, что это нарушает ряд традиционных принципов программирования (например, область переменных)
-
Undefined переменные, кажется, появляются из ниоткуда и уже имеют значения, связанные с ними. Например (из документов jQuery):
$("a").click(function(event) { event.preventDefault(); $('<div/>') .append('default ' + event.type + ' prevented') .appendTo('#log'); });
Что такое "событие"? Должен ли я использовать это имя переменной? Должен ли я просто предположить, что этот объект магически создан с правильным материалом, и я могу использовать любой из списка методов в JQuery API?
-
Кажется, что существует множество случайных правил (например, return false, чтобы остановить действие по умолчанию, но иногда это не работает?)
-
Недетерминированное поведение при отладке. (например, я обновляю браузер, пытаюсь что-то сделать и получаю результат X для переменных JS, которые я просматриваю в Firebug. Я снова обновляюсь и получаю результат Y?)
-
Очень грязный выглядящий код, который трудно выполнить. Что происходит, когда? Я использую Firebug и инструменты для разработчиков Chrome, но я не получаю достаточной видимости.
Кажется, что в повседневной жизни появляется какое-то случайное JS-правило, которое я никогда не видел раньше ни в одной из моих книг или учебников JS.
Что мне нужно сделать, чтобы сделать Javascript/jQuery более детерминированным, контролируемым и логичным для меня?
Есть ли какие-либо ресурсы, которые объясняют причуды Javascript/gotchas?
Спасибо!