欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery中(function($){})(jQuery)詳解

 更新時間:2015年07月15日 10:24:53   投稿:hebedich  
本文通過具體示例向大家詳細介紹了jQuery中的(function($){})(jQuery)的用法和意義,對此有相同困惑的小伙伴可以參考下本文。

簡單的說

(function($){
 //code
})(jQuery)

聲明了一個匿名函數(shù),也就是將jQuery對象作為參數(shù)傳給函數(shù)

給大家舉個例子

// 全局
var str = "全局字符串...";
(function () { // 第1層
  (function () { // 第2層
    (function () { // 第3層
      (function () { // 第4層 層數(shù)越多,訪問全局越慢
        console.time('全局');
        for (var i=0; i<1e6; i++) {
          str += Math.random().toString().substr(2, 2);
        }
        console.timeEnd('全局');
      })();
    })();
  })();
})();
 
// 局部
(function () { // 第1層
  (function () { // 第2層
    (function () { // 第3層
      (function () { // 第4層
        var str = "內(nèi)部字符串...";
        var random = Math.random;
        console.time('內(nèi)部');
        for (var i=0; i<1e6; i++) {
          str += random().toString().substr(2, 2);
        }
        console.timeEnd('內(nèi)部');
      })();
    })()
  })();
})();

運行代碼 就可以看到效果了,比較慢,騷等片刻。
我剛剛測試發(fā)現(xiàn)一些內(nèi)存小的電腦容易直接導(dǎo)致瀏覽器崩潰、
chrome武裝到牙齒了,連字符串都緩存,看不出多大效果、

和速度應(yīng)該沒關(guān)系,我是這么認為的。

(function($){
// code
})(jQuery)

jQuery插件眾多,你無法確定自己使用的變量或者方法名不于其他插件重名,所以需要將所有插件代碼封裝到一個匿名函數(shù)當中;

由于插件使用了jQuery所以需要導(dǎo)入jQuery到匿名函數(shù)中,同時使用$變量引用(因為大家已經(jīng)習慣了使用$)。當然你在全局下也可以使用$,但是無法完成第一個條件;
封裝的代碼必須執(zhí)行,所以要執(zhí)行匿名函數(shù)同時傳入jQuery參數(shù)。

總結(jié)

其實是為了保護$符號,不管外界是否引入了另外有干擾$的庫,都不會干擾匿名函數(shù)中$就是jQuery的事實,因為他是作為參數(shù)被傳進去的。

您可能感興趣的文章:

相關(guān)文章

最新評論