13

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

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

提前谢谢了

4

2 回答 2

18
  1. 那么如何掌握 DOM 呢?
    这几乎就像说“一个大师如何编程?”一样笼统,但我会试一试。

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

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

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

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

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

当然,你几乎不应该在没有 JavaScript 框架的情况下进行开发。选择一个满足您的需求并掌握它。这比尝试重新发明轮子要好得多(除非您打算更多地了解轮子)

于 2009-11-29T06:44:43.960 回答
2
  1. 通过在没有库的情况下编写 JS 或通过研究库的代码
  2. 是的。例如,您将了解为什么使用库执行某些操作会很慢以及如何更好地执行它们
  3. 如果您不使用库,您实际上必须了解 DOM 才能做任何事情;)
于 2009-11-29T06:35:34.187 回答