2010-02-15 53 views
2

我有一個很大的JS文件有很多功能的嚴肅的項目,現在我有一些關於它的問題。如何組織JS加載?

  • 當然,我會粘在一起,我所有的js文件和gzip,但我有一個關於功能initialisations問題。現在我有許多很多簡單的功能,沒有任何類。我聽說最好將我的代碼分成許多類,並且我想這樣做,並且在頁面生成步驟標記中,我需要在特定頁面上使用哪些類。例如,我不需要主頁上的所見即所得編輯器,等等,所以我將創建特殊的var與我需要的js類的數組。這是最佳做法嗎?客戶會獲得性能和內存節省嗎?

  • 假設我有行動的onclick許多環節。有什麼更好的:把它們保留爲<a href="#" onclick="return smth();">或者重寫爲<a href="javascript:void(0);">並在document.ready部分創建jquery.bind?但是如果客戶想在文檔準備好之前點擊一些內容呢?

  • 的東西點擊後,我必須創建具有特定靜態HTML一個div。存儲這些內容最好在哪裏?在我班的一些變種中?或者,也許在一些模板?

  • 回答

    2

    我通常使用命名空間,以防止函數名發生衝突,並進一步添加每個對象到它自己的.js文件爲組織目的

    var MyObject = function() { 
         return { 
          method_1 : function() { 
           // do stuff here 
          }, 
          method_2 : function() { 
           // do stuff here 
          } 
         }; 
        }(); 
    
        MyObject.method_1(); 
        MyObject.method_2(); 
    

    然後我導入任何需要我的網頁上整理我的JavaScript。有一些額外的全局功能不會在頁面上使用,不會在性能上發生明顯的變化。

    有些人把在HTML整個的onclick進入了隆重的哲學辯論......對我來說,這是骯髒的,但易於閱讀和快速實施。結合事件的偉大工程,完全從HTML分離的JavaScript,但有時可能難以維持,如果你的HTML被許多開發者維護變得很邋遢

    保持在JavaScript的HTML位爲我

    0

    您也可能工作得很好有興趣查看Google Closure JavaScript編譯器。

    另外:如果你的JS是大到足以影響性能,你實際上可能最終得到更好表現出的單獨的文件和負載取決於你的頁面最初需要或負載點播(通過jQuery getScript) 。

    你也可能想看看你期待什麼樣的行動來使用用戶之前DOM已準備就緒。

    作爲在JS的HTML(或反之亦然)。這取決於。你建立了多少HTML?我通常不會在.html()語句中放置多行HTML。如果真的不止這些,我會考慮一種不同的解決方案(比如將其從其他來源按需提供,或者將其放置在某處,隱藏在頁面中,然後放在其上)。