如何掌握文档对象模型(DOM)?

时间:2009-11-29 06:31:56

标签: javascript dom libraries

一直在使用像Prototype和jQuery这样的Javascript库进行开发。尽管使用这些库是一个好处,但一个缺点是使用这样的库可能无助于理解底层发生的事情。

  1. 那么如何掌握DOM呢?
  2. 使用Javascript库时,理解DOM会有更多帮助吗?
  3. 当不使用库时,通过理解DOM会有什么好处?
  4. 非常感谢提前

2 个答案:

答案 0 :(得分:17)

  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中的所有内容都不满意,那么很难开发出可以在所有浏览器中运行的可维护的东西。
  4. 当然,you should almost never do development without a JavaScript framework。选择一个满足您需求并掌握它的人。这比尝试re-invent the wheel (unless you plan on learning more about wheels)要好得多。

答案 1 :(得分:2)

  1. 通过编写没有库的JS或通过研究库的代码来编写
  2. 是。例如,您将理解为什么使用库执行某些操作可能会很慢以及如何更好地执行这些操作
  3. 如果您没有使用图书馆,您实际上必须了解DOM才能做任何事情;)