很久沒有動手寫技術的文章,這個過程中間一直在寫日記,生活點滴的記錄替代了技術文章的編寫,可以看出以往的內心是激情或烈火,現在是. ..
最近寫了一個JS插件,用圈內的話說叫造了個輪子,造的好與不好都不是自己說了算,關鍵還是大家用的好與不好。
當然我自己也在使用,由於個人偏愛與喜好,所以未能藉簽其他Ajax框架的寫法,目前的版本都是以版本一進行往上整合的成果,所以你想要全面了解內部的結構,可以先從版本一開始看起。
現在我們說說整體的設計結構,版本一是好友收集整理的方法,基礎的寫法已經成型,調用nativeAjax方放即可,方法內部有三個參數,第一個為ajax的屬性,第二個為成功的函數,第三個為錯誤的函數,具體如下:
nativeAjax(postOption,function(data){ // 3.1、请求成功回调 console.log(data); },function(error){ // 3.2、请求失败回调,返回HTTP状态码 console.log(error); });
基於以上的設計模式,然後給他進行二次封裝,首先ajax的服務屬性固定不變,那麼我們可以把所有的ajax properties綁定到物件上即可,如果直接綁定在指定的物件上,其實我們只管給參數和拿參數,省了很多事情,這個過程簡單了不少,那麼彈性就不會很高。如果我們想自己在內部進行封裝,那麼就要求高靈活性和可復用屬性,所以我把屬性放在了function函數裡面,於是在內部使用this指針綁定ajax屬性進行調用,同時可以在內部進行插件的再次封裝,這是我所理解的這個版本的內部結構的設計模式。
版本二rewrap-ajax調用的外部結構類似jq的JQ.fn屬性,是以鍊式結構的物件屬性方法來使用的,所以我們在