2009-11-29 25 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以便能夠執行任何操作;)