//定義m模組,本申明乙個全域性變數
define('m',,function();
return m;
})//定義模組a 依賴模組 m,b,c
define('a',['m','b','c'],function(m))
//定義b模組
define('b',,function())
//定義c模組
define('c',,function())
//引入a模組
require(['a'],function(a))
此例子裡邊需要注意:
m模組的作用是定義乙個全域性的變數;
a模組依賴了其他模組,但是function 引數缺只有m乙個引數,但是也可以用使用b,c兩個模組裡邊的變數,這是因為 m 模組裡邊的全域性變數。可以看得出 b,c模組裡邊的變數在申明的時候就是掛在全域性變數下的。所以a模組依賴了b,c模組缺沒有使用引數介面,也可以用的原因。
反之,變數沒有掛在全域性變數下,引用了模組,沒有用引數接受,這樣是不可以使用其他模組下邊的變數和方法的,因為很簡單是作用局的問題。
還有就是b,c模組沒有引用m模組缺使用了,m模組下邊的變數,也是因為此變數是全域性變數。如果是區域性變數,那就要依賴於m模組才可以使用了。
假如說,反正b,c兩個模組也不用參加接收,都掛在了全域性變數下邊,是不是不引也可以,直接引乙個m模組好了。這肯定是不行的,會彈出 undefined
實現AMD規範
廢話不說,直接上 由於require依賴程式時要取模組依賴,所以所有的依賴應該有乙個共同的載體,也就是物件,可以通過物件訪問到這些依賴 let factories function define mod,dependences,factory function require mods,callba...
AMD面試小結
關於git如何使用 關於gdb除錯如何使用 關於多執行緒程式設計 關於使用者態和核心態?關於opengl 關於voiltale你用過沒?volatile表示物件的值可能在程式的控制或檢測之外被改變,並告訴編譯器不應該對這樣的物件進行優化。voilatile起到對型別額外修飾的作用。class tes...
AMD主機板分類
amd 主機板根據cpu插槽分類 am2 am2 940針 但早期有少量面向oem的socket 939介面版本 am3 am3 938針 am4 1331針 am2插槽的主機板可以插am3介面的cpu。但am3插槽不可以插am2的cpu am2是 940的針腳,am3是938的針腳,所以am3的c...