Maison > interface Web > js tutoriel > le corps du texte

jQuery(function($){})(jQuery)详解_jquery

WBOY
Libérer: 2016-05-16 15:50:28
original
1058 Les gens l'ont consulté

En termes simples

(function($){
 //code
})(jQuery)
Copier après la connexion

Déclare une fonction anonyme, c'est-à-dire transmet l'objet jQuery en paramètre à la fonction

Donnez-moi un exemple

// 全局
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('内部');
      })();
    })()
  })();
})();

Copier après la connexion

Exécutez le code et vous verrez l'effet. Il est relativement lent, alors veuillez patienter un moment.
Je viens de tester et j'ai découvert que certains ordinateurs dotés de peu de mémoire peuvent facilement provoquer le crash du navigateur
. Chrome est tellement armé que même les chaînes sont mises en cache, mais cela n'a pas beaucoup d'effet

.

Ça n’a rien à voir avec la vitesse, c’est ce que je pense.

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

Copier après la connexion

Il existe de nombreux plug-ins jQuery, et vous ne pouvez pas être sûr que le nom de variable ou de méthode que vous utilisez n'a pas le même nom que les autres plug-ins, vous devez donc encapsuler tous les codes de plug-in dans une fonction anonyme. ;

Puisque le plug-in utilise jQuery, vous devez importer jQuery dans la fonction anonyme et utiliser la référence de variable $ (car tout le monde est habitué à utiliser $). Bien sûr, vous pouvez également utiliser $ globalement, mais la première condition ne peut pas être remplie
; Le code encapsulé doit être exécuté, donc la fonction anonyme doit être exécutée et les paramètres jQuery doivent être transmis.

Résumé

En fait, il s'agit de protéger le symbole $. Peu importe si le monde extérieur introduit une autre bibliothèque qui interfère avec $, cela n'interférera pas avec le fait que $ dans la fonction anonyme est jQuery, car il est transmis comme un paramètre.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal