Изучение JavaScript для всего непрограммиста - PullRequest
1 голос
/ 27 апреля 2009

Я кодирую CSS / XHTML так, как будто это мой родной язык, и я пишу корректный семантический код, следуя рекомендациям по доступности и тому подобное.

Но я хочу выучить ненавязчивую JavaScripting, но с полным непрограммистским умом мне нужны некоторые мотивы / советы / и т. Д., Например, как лучше всего это изучить, и сколько времени это заняло / заняло у вас раньше ты мог почувствовать силу знания? :)

PS: у меня есть понимание того, как JavaScript работает и меняет DOM и т. Д. Я думаю, что больше нужно изучать синтаксис по голове, а не искать его.

Смотри также:

Предложения для тех, кто начинает программирование на JavaScript.

Ответы [ 7 ]

4 голосов
/ 27 апреля 2009

Просто используйте это. На самом деле, чем больше времени вы тратите на чтение и написание языка, тем более естественным оно становится. Используйте Firebug или эквивалентную консоль для тестирования коротких идей; Возьмите существующую веб-страницу и подключите события в интерактивном режиме из командной строки, привыкните к идее написания поведенческого кода как отдельного процесса от написания разметки.

Если вам нужна хорошая книга, я могу порекомендовать отличную jQuery в действии - да, она предназначена для пользователей jQuery, но концепции применимы независимо от вашего выбора в библиотеках.

3 голосов
/ 27 апреля 2009

Мотивация, извините, ничего не поделаешь.

Синтаксис выучен наизусть. Правила просты и достаточно последовательны, поэтому в действительности синтаксис не так сложен.

То, что вы связываете с синтаксисом, - это, вероятно, другие аспекты, например, какие свойства доступны для каких объектов, какие функции вызывать, что обеспечивает ваша инфраструктура. Опять же, это в основном запоминание наизусть.

Многие фреймворки добавляют немного синтаксиса благодаря умному использованию синтаксиса JavaScript, и вам также необходимо изучить его.

Но когда все сводится к этому, единственный способ научиться этому материалу - это использовать его.

Вы не можете прочитать об этом, вы должны это сделать.

Найдите проблему, над которой вы хотите поработать, функцию для своего сайта и т. Д. И атакуйте ее.

Если вы найдете учебник или что-то в Интернете, которое делает то, что вы хотите, ТИП В КОДЕ, не вырезайте и не вставляйте его. Когда вы вводите его, задавайте вопросы каждому символу или символу, старайтесь понять, почему вы печатаете то, что печатаете.

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

Если вы меняете переменную «window1» на «myWindow», то, по крайней мере, вы можете смотреть на код как «бла-бла-бла, окно1, бла-бла, окно1», не понимая всего этого.

Начните с малого, не беспокойтесь о том, чтобы "сделать все правильно" и т. Д., А просто о том, чтобы быть успешным. Если то, как это сделано, вас не беспокоит, тогда вы в порядке. Если вы посмотрите на это и скажете: «Это не совсем правильно», потому что вы узнали что-то позже после того, как начали, тогда вернитесь и почистите это.

На этом этапе функция больше формы. Большая часть формы просто приходит из опыта.

2 голосов
/ 27 апреля 2009

Зависит от того, что вы хотите сделать. Вы успешный веб-дизайнер, который собирается заняться разработкой? Продвигайтесь вперед, но действуйте осторожно. С JavaScript можно легко начать, но он может стать очень уродливым очень быстро. И это сильно отличается от любого серверного языка (включая Java). Некоторые из ваших навыков JavaScript будут переведены на другие языки (например, операторы условного потока и потока управления). Но некоторые вещи уникальны для JavaScript и потребуют некоторого переучивания, если вы перейдете на другой язык.

Кроме того, некоторые вещи в JavaScript не будут полностью понятны, если вы не будете заниматься объектно-ориентированной разработкой; Несмотря на то, что JavaScript «основан на прототипах», а не строго ориентирован на объект, без концепции ОО, с которой он связан, система прототипирования может быть трудной для понимания. Система набора также может не иметь особого смысла, если у вас нет большого опыта работы с различными системами ввода текста (статическими и динамическими, явными и неявными).

Используйте хороший фреймворк, такой как jQuery или YUI, но обязательно поймите, что происходит за кулисами. Предложение Shog9 использовать FireBug тоже хорошее. Он покажет вам, что происходит (без необходимости делать много операторов alert () в вашем коде).

Ваш опыт работы с HTML DOM и CSS поможет некоторым, но только в смысле понимания того, что пытается сделать JavaScript. Написание HTML и CSS вручную не поможет вам научиться писать JavaScript; HTML и CSS являются языками разметки документов, а не обязательными языками программирования.

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

1 голос
/ 27 апреля 2009

Я рекомендовал JavaScript: хорошие детали раньше (и не могу рекомендовать его достаточно высоко), но если вы новичок в программировании, я предлагаю начать с Head First JavaScript .

Head First JavaScript
(источник: oreilly.com )

1 голос
/ 27 апреля 2009

Я думаю, что изучение Javascript - это отличная идея, если вы все готовы работать с HTML и CSS. Javascript - это крутой, но причудливый язык. Большинство людей, которые используют, на самом деле не знают, как написать хороший код JS. Я настоятельно рекомендую посмотреть видео Дугласа Крокфорда, см. http://video.yahoo.com/watch/111593

Они дадут настоящий совок по Javascript.

0 голосов
/ 13 августа 2012

http://codeavengers.com уровень 1 JavaScript отлично подходит для начинающих. Я создал курсы и получил множество отличных отзывов от новичков, которые посчитали мой курс интересным и эффективным способом изучения JavaScript.

0 голосов
/ 09 июля 2009

Я думаю, что у вас уже есть множество отличных ответов и ресурсов, но я бы тоже хотел присоединиться, так как я видел пару рекомендаций jQuery:

Я тоже люблю jQuery и использую его почти ежедневно. Тем не менее, для новичка я бы порекомендовал вам освоиться с правильным javascript first перед тем, как погрузиться в jQuery. Освоение синтаксиса, переменных, области видимости и, по крайней мере, некоторых концепций DOM значительно улучшит ваше понимание того, как делать то, что вы хотите, с помощью jQuery. Если вы попытаетесь слишком быстро ускользнуть от основ, вы наверняка застрянете на одном распространенном заблуждении, что jQuery не сможет вам помочь.

...