Как освоить объектную модель документа (DOM)? - PullRequest
13 голосов
/ 29 ноября 2009

Некоторое время назад я использовал библиотеки Javascript, такие как Prototype и jQuery, для разработки. Хотя использование этих библиотек - благо, недостатком является то, что использование таких библиотек, вероятно, не помогает понять, что происходит под капотом.

  1. Так как же один мастер DOM?
  2. Будет ли понимание DOM более полезным при использовании библиотек Javascript?
  3. Когда вы не используете библиотеки, какие преимущества дает понимание DOM?

Большое спасибо заранее

Ответы [ 2 ]

17 голосов
/ 29 ноября 2009
  1. Так как же один мастер DOM?
    Это почти так же широко, как сказать «Как один мастер программирования?», Но я попробую.

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

    Конечно, есть вещи, которые вы можете сделать, один из них - начать обучение с HTML Dog (посмотрите JavaScript и HTML DOM в левом меню). Кроме того, проверьте caniuse.com , чтобы вы могли увидеть, что поддерживается в DOM. Блоги тоже очень помогают. Блог Джона Ресига (создатель jQuery) - хороший ресурс для некоторых более продвинутых техник DOM. Взгляните на код библиотек JavaScript, чтобы увидеть, как они работают. Это даст вам некоторые идеи относительно того, с чего начать. Конечно, вам нужно иметь некоторые знания и понимание DOM, чтобы это было полезно в первую очередь. DOM - это беспорядок , поэтому для его освоения может потребоваться много времени и терпения.

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

    • манипулирование DOM
    • Обработка событий
    • AJAX-запросы
      .
  2. Будет ли понимание DOM более полезным при использовании библиотек Javascript?
    Да. Библиотеки JavaScript великолепны, но вы можете делать очень неблагоприятные вещи в средах JavaScript, если не знаете, что они делают (по сути) за кулисами. Например, селекторы jQuery предназначены для обхода DOM особым образом. Если вы не понимаете, как работает обход jQuery, это может иметь значительные последствия для производительности в зависимости от ваших обстоятельств.

  3. Если вы не используете библиотеки, какие преимущества дает понимание DOM?
    Что ж, если вы не используете библиотеку JavaScript, вам нужно иметь достаточно четкое представление о DOM, чтобы что-то делать в JavaScript. Может быть трудно разработать что-то, что можно обслуживать во всех браузерах, если вам не нравится все в DOM.

Конечно, вы почти никогда не должны заниматься разработкой без фреймворка JavaScript . Выберите тот, который соответствует вашим потребностям и освоить его. Это гораздо лучше, чем пытаться заново изобрести колесо (если вы не планируете больше узнать о колесах) .

2 голосов
/ 29 ноября 2009
  1. Путем написания JS без библиотеки или изучения кода библиотеки
  2. Да. Например, вы поймете, почему выполнение определенных действий с использованием библиотеки может быть медленным и как их выполнять лучше
  3. Если вы не используете библиотеку, вам действительно нужно понимать DOM, чтобы иметь возможность что-либо делать;)
...