Maison > interface Web > js tutoriel > Pourquoi jQuery utilise-t-il `(function(window, undefined){...})(window);` ?

Pourquoi jQuery utilise-t-il `(function(window, undefined){...})(window);` ?

Patricia Arquette
Libérer: 2024-12-11 02:45:09
original
750 Les gens l'ont consulté

Why Does jQuery Use `(function(window, undefined){...})(window);`?

Exploration de la syntaxe de l'encapsulation JavaScript dans jQuery

Lors de l'examen du code source de jQuery 1.4, on peut rencontrer la syntaxe d'encapsulation suivante :

(function( window, undefined ) {

  //All the JQuery code here 
  ...

})(window);
Copier après la connexion

Cette syntaxe soulève des questions sur le but de la variable "undefined" et l'apparition répétée de "fenêtre."

La signification de "indéfini"

La variable "indéfinie" entre parenthèses n'est pas un mot-clé réservé. Il s’agit plutôt d’une variable normale à laquelle une nouvelle valeur peut être attribuée. Dans ce cas, jQuery définit « undéfini » égal à « undéfini » pour garantir que la variable globale « non définie » reste vraiment indéfinie.

La signification de « fenêtre »

La variable "window" fait référence à l'objet JavaScript global. En passant "window" comme argument à la fonction anonyme, jQuery crée une référence locale à l'objet global. Cette référence locale améliore les performances.

Lorsque JavaScript recherche une variable, il vérifie d'abord la portée locale. Si la variable n'est pas trouvée localement, la recherche continue jusqu'à la portée suivante, et ainsi de suite, jusqu'à ce que la portée globale soit atteinte. En créant une référence locale à l'objet global, JavaScript peut localiser rapidement « fenêtre » sans avoir à rechercher dans toutes les étendues.

Cette optimisation, telle que décrite par Nicholas C. Zakas dans son article « Accélérez votre JavaScript ," améliore considérablement la vitesse d'exécution de la bibliothèque jQuery.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal