jQuery中(fungsi($){})(jQuery)详解_jquery

WBOY
Lepaskan: 2016-05-16 15:50:28
asal
1057 orang telah melayarinya

Ringkasnya

(function($){
 //code
})(jQuery)
Salin selepas log masuk

Mengisytiharkan fungsi tanpa nama, iaitu, menghantar objek jQuery sebagai parameter kepada fungsi

Beri saya contoh

// 全局
var str = "全局字符串...";
(function () { // 第1层
  (function () { // 第2层
    (function () { // 第3层
      (function () { // 第4层 层数越多,访问全局越慢
        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 = "内部字符串...";
        var random = Math.random;
        console.time('内部');
        for (var i=0; i<1e6; i++) {
          str += random().toString().substr(2, 2);
        }
        console.timeEnd('内部');
      })();
    })()
  })();
})();

Salin selepas log masuk

Jalankan kod dan anda akan melihat kesannya agak perlahan, jadi sila tunggu sebentar.
Saya baru sahaja menguji dan mendapati bahawa sesetengah komputer dengan memori kecil boleh menyebabkan penyemak imbas ranap
Chrome sangat bersenjata sehingga rentetan pun dicache, tetapi ia tidak mempunyai banyak kesan

Ia tiada kaitan dengan kelajuan, itulah yang saya fikir.

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

Salin selepas log masuk
Terdapat banyak pemalam jQuery, dan anda tidak boleh pasti bahawa pembolehubah atau nama kaedah yang anda gunakan tidak mempunyai nama yang sama seperti pemalam lain, jadi anda perlu merangkum semua kod pemalam ke dalam fungsi tanpa nama ;


Memandangkan pemalam menggunakan jQuery, anda perlu mengimport jQuery ke dalam fungsi tanpa nama dan menggunakan rujukan pembolehubah $ (kerana semua orang sudah biasa menggunakan $). Sudah tentu anda juga boleh menggunakan $ secara global, tetapi syarat pertama tidak dapat dipenuhi

Kod enkapsulasi mesti dilaksanakan, jadi fungsi tanpa nama mesti dilaksanakan dan parameter jQuery mesti dihantar masuk.

Ringkasan

Sebenarnya, ia adalah untuk melindungi simbol $ Tidak kira sama ada dunia luar memperkenalkan perpustakaan lain yang mengganggu $, ia tidak akan mengganggu fakta bahawa $ dalam fungsi tanpa nama ialah jQuery, kerana dia diluluskan sebagai. satu parameter.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan