【问题标题】:How to master Document Object Model (DOM)?如何掌握文档对象模型(DOM)?
【发布时间】:2009-11-29 06:31:56
【问题描述】:

一段时间以来,一直在使用 Prototype 和 jQuery 等 Javascript 库进行开发。虽然使用这些库是一件好事,但缺点是使用这些库可能无助于理解幕后发生的事情。

  1. 那么如何掌握 DOM?
  2. 在使用 Javascript 库时,了解 DOM 是否会更有帮助?
  3. 不使用库时,了解 DOM 有什么好处?

提前致谢

【问题讨论】:

    标签: javascript dom libraries


    【解决方案1】:
    1. 那么如何掌握 DOM?
      这几乎就像“一个大师如何编程?”一样笼统,但我会试一试。

      实践是关键。你不能只看几本书就变得很好。你需要练习和经验才能知道当你做不同的事情时到底发生了什么,以及不同的浏览器如何解释你正在做的事情。

      当然,您可以做一些事情,其中​​之一是在HTML Dog 开始学习教程(查看左侧菜单中的 JavaScript 和 HTML DOM)。另外,请查看caniuse.com,以便了解 DOM 中支持的内容。博客也是一个很大的帮助。 John Resig's blog(jQuery 的创建者)是一些更高级的 DOM 技术的好资源。查看 JavaScript 库的代码以了解它们是如何做事的。这会给你一些关于从哪里开始的想法。当然,首先,您需要对 DOM 有一些了解和了解才能使用它。 DOM is a mess,所以要真正掌握它可能需要大量的时间和耐心。

      您需要以跨浏览器的方式掌握以下内容,这就是为什么最好使用已经编写好的框架。

      • DOM 操作
      • 事件处理
      • AJAX 请求
        .
    2. 在使用 Javascript 库时,了解 DOM 会更有帮助吗?
      是的。 JavaScript 库很棒,但你可以做一些非常不利的事情在 JavaScript 框架中,如果您不知道它们的框架(本质上)在幕后做什么。例如,jQuery 选择器旨在以特定方式遍历 DOM。如果您不了解 jQuery 遍历的工作原理,则根据您的具体情况,它可能会对性能产生重大影响。

    3. 不使用库时,了解 DOM 有什么好处?
      好吧,当不使用 JavaScript 库时,你必须对 DOM 有相当扎实的理解才能在 JavaScript 中做任何事情。如果您对 DOM 中的所有内容都不满意,那么很难开发出适用于所有浏览器的可维护的东西。

    当然,you should almost never do development without a JavaScript framework。选择一个满足您的需求并掌握它。这比尝试re-invent the wheel (unless you plan on learning more about wheels)好多了。

    【讨论】:

      【解决方案2】:
      1. 通过在没有库的情况下编写 JS 或通过研究库的代码
      2. 是的。例如,您将了解为什么使用库执行某些操作可能会很慢,以及如何更好地完成这些操作
      3. 如果您不使用库,您实际上必须了解 DOM 才能执行任何操作 ;)

      【讨论】:

        猜你喜欢
        • 2015-10-27
        • 1970-01-01
        • 2011-05-29
        • 1970-01-01
        • 2011-05-27
        • 2011-03-21
        • 2012-12-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多