今天詳細的瞭解了javascript模塊化編程,javascript模塊規範有兩種:"CommonJS"和"AMD"。javascript
CommonJS中有一個全局性方法require(),主要用於加載模塊,例如:var show= require('jia');jia.add(3,3);//6 。這裏咱們只須要知道require()用於加載模塊就行了。因爲模塊都是放在服務器端,不能讓瀏覽器處於「假死」狀態,因此不能採用「同步加載(synchronous)」,只能採用「異步加載(asynchronous)」。java
AMD:就是異步模塊加載;採用異步方式加載模塊,模塊加載時不會影響後面語句的執行。AMD也要採用require()語句,可是須要兩個參數,第一個參數就是數組,數組裏面的元素就是要加載的模塊;第二個參數就是加載成功以後的回調函數。列如:require(['jia'],function(jia){jia.add()3,3});數據庫
如今ADM有一種比較流行的框架:require.js;他解決了一些問題:一、實現JS文件異步加載,避免網頁失去響應;二、管理模塊之間的依賴,便於代碼的編寫和維護。運用也很方便,就像調用js文件同樣直接調用,如有本身的JS文件show,能夠直接添加一個屬性「data-main」,其做用是指定網頁程序的主模塊,以下:<script src="js/require.js" data-main="js/show"></script>。咱們的主模塊編寫也就要require()函數,以下:require(['A','B'],function(A,B){自編代碼});編程
require.js加載模塊採用了AMD規範,因此模塊就要採用「define()」函數定義;define(function(){});若是這個模塊還依賴了其餘模塊,那define()函數的第一個參數必須是數組,指明該模塊的依賴性。數組
知乎項目今天還在繼續完成,到了最關鍵的地方了,就是首頁數據加載,而後從數據庫中讀取數據顯示在界面上;若是用PHP將讀取的數據插入到HTML中,可是當界面滾動條滑到最下面時,分頁的頁數不知道傳回讀取數據的語句中,讓其頁數增長;如果用JS文件加載,JS文件對象很差建,執行AJAX時,要在裏面拼不少代碼,看起來代碼就很雜亂,不簡潔方便;這個問題還有待解決;其餘就沒有什麼問題了。瀏覽器