javascript AMD規範簡單介紹
建議事先參閱javascript如何實現模組程式設計簡單介紹一章節。
更多此規範的相關內容可以參閱js AMD規範介紹一章節。
AMD規範就是用在前端模組化程式設計。即便我們程式碼都實現了模組化程式設計,但是如果遵循的規範各不相同,那也是非常麻煩的。
當前javascript有兩種模組化程式設計規範:
(1).CommonJS。
(2).AMD。
CommonJS規範簡單介紹:
此規範是用在伺服器端的,node.js的出現,使得此規範就應運而成,因為伺服器端的程式設計非常的複雜,不採用模組化程式設計是難以想象的。CommonJS是同步載入,適合於伺服器端,因為程式碼都是本地儲存的,基本沒有什麼延遲。
看如下程式碼:
[JavaScript] 純文字檢視 複製程式碼var math = require('math'); math.add(5,3); // 8
CommonJS中,有一個全域性性方法require(),用於載入模組。假定有一個數學模組math.js,然後我們載入並呼叫此資料模組中的add()方法。這在伺服器端沒有任何問題,但是在前端則存在很多隱患,如果網路有延遲,那麼程式碼就會停頓在此位置。隨意非同步載入的AMD規範適合前端。
AMD規範:
此規範的全程是Asynchronous Module Definition,也就是非同步模組定義,它採用非同步方式載入模組,模組的載入不影響它後面語句的執行。所有依賴這個模組的語句,都定義在一個回撥函式中,等到載入完成之後,這個回撥函式才會執行。
AMD也採用require()語句載入模組,但是不同於CommonJS,它要求兩個引數:
[JavaScript] 純文字檢視 複製程式碼require([module], callback);
第一個引數[module],是一個陣列,裡面的成員就是要載入的模組。
第二個引數callback,則是載入成功之後的回撥函式。如果將前面的程式碼改寫成AMD形式,就是下面這樣:
[JavaScript] 純文字檢視 複製程式碼require(['math'], function (math) { math.add(5, 3); });
math.add()與math模組載入不是同步的,瀏覽器不會發生假死。所以很顯然,AMD比較適合瀏覽器環境。
當前比較常用的一個AMD規範就是require.js。
關於require.js的用法可以參閱以下兩篇文章:
(1).require.js的作用簡單介紹一章節。
(2).require.js用法介紹一章節。
相關文章
- javascript程式碼規範簡單介紹JavaScript
- js AMD規範介紹JS
- css編碼規範簡單介紹CSS
- HTML編碼規範簡單介紹HTML
- JavaScript 簡單介紹JavaScript
- node.js的編碼規範簡單介紹Node.js
- 簡單介紹克隆 JavaScriptJavaScript
- javascript物件簡單介紹JavaScript物件
- javascript this指向簡單介紹JavaScript
- javascript加密簡單介紹JavaScript加密
- 簡單介紹JavaScript閉包JavaScript
- JavaScript希爾排序簡單介紹JavaScript排序
- javascript constructor簡單介紹JavaScriptStruct
- javascript建立物件簡單介紹JavaScript物件
- javascript的this用法簡單介紹JavaScript
- javascript arguments用法簡單介紹JavaScript
- javascript 變數簡單介紹JavaScript變數
- javascript簡單模板引擎介紹JavaScript
- javascript作用域簡單介紹JavaScript
- javascript的正規表示式的test()方法簡單介紹JavaScript
- JavaScript return語句簡單介紹JavaScript
- javascript鏈式呼叫簡單介紹JavaScript
- javascript除法運算簡單介紹JavaScript
- javascript &&和||運算子簡單介紹JavaScript
- javascript方法過載簡單介紹JavaScript
- javascript遞迴概念簡單介紹JavaScript遞迴
- JavaScript this指向解綁簡單介紹JavaScript
- javascript陣列操作簡單介紹JavaScript陣列
- javascript with()語句用法簡單介紹JavaScript
- javascript匿名函式簡單介紹JavaScript函式
- javascript的in運算子簡單介紹JavaScript
- javascript變數宣告簡單介紹JavaScript變數
- javascript氣泡排序簡單介紹JavaScript排序
- 如何學習javascript簡單介紹JavaScript
- javascript生命週期簡單介紹JavaScript
- javascript變數汙染簡單介紹JavaScript變數
- javascript如何操作iframe簡單介紹JavaScript
- OpenAPI規範簡介API