close

看了 套件 mchain.js 的原始碼

其中開頭結尾看不懂以及為什麼在 script 中可以直接使用 mchain

所以了解一下這是什麼樣的寫法...

( function(_global){
  //程式碼
  _global.mchain = new _global.mchainClass();

} ) ( this );
 
  這裡的 this 其實會是 window 物件
  上面的程式碼就是在 window 物件加一個 mchain 屬性
  然後 在 script 中可以直接使用 mchain (等於是 window.mchain)

 

簡單說...

JavaScript 可以直接用一組小括號 "()" 包覆一個匿名函式,然後後面再接一組小括號 "()" 表示呼叫這個匿名函式

而第二組小括號中就可以放置這個匿名函式的參數

(
  匿名函式
) (匿名函式的參數) //網頁 load 時 就執行

var  a1 = "123" , a2 = "456";
(function(b1,b2){
  alert("我在裡面:"+b1+b2) 
})(a1,a2);
alert("我在外面:"+a1+a2)

另外~

因為這種寫法很特殊,用的是小括號 "()" 開始的

如果上一行程式碼沒有分號 ";" 結尾就會出問題,難保引用一些縮減後套件,沒有最後的分號 ";"

所以養成小習慣,前面多加一個分號 ";" ,會安全一點

;(
  匿名函式
) (匿名函式的參數) //網頁 load 時 就執行

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 vivian 的頭像
    vivian

    VIVI。愛胡扯

    vivian 發表在 痞客邦 留言(0) 人氣()