2009-11-29 22 views
13

一段时间以来,我一直在使用像Prototype和jQuery这样的Javascript库进行开发。虽然使用这些库的好处,但其缺点是使用这样的库可能无助于理解底层的情况。如何掌握文档对象模型(DOM)?

  1. 那么如何掌握DOM?
  2. 在使用Javascript库时,理解DOM会有更多帮助吗?
  3. 不使用库时,通过理解DOM有什么好处?

提前

回答

17
  1. 那么,如何一个主DOM?
    这几乎和“一个人如何编程?”一样普遍,但我会给它一个镜头。

    练习是关键。你不能只读几本书并且变得更好。你需要练习和经验来了解当你做不同事情时究竟发生了什么,以及不同的浏览器如何解释你在做什么。

    当然,你可以做的事情之一是开始在HTML Dog上学习教程(在左侧菜单中检查HTML DOM 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做任何事情有非常扎实的理解。如果您不熟悉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以便能够执行任何操作;)