Maison  >  Article  >  interface Web  >  Analyse des avantages, inconvénients et différences des deux manières de créer des fermetures dans les compétences JavaScript_javascript

Analyse des avantages, inconvénients et différences des deux manières de créer des fermetures dans les compétences JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 15:53:411064parcourir

Il existe deux manières couramment utilisées pour créer des fermetures en JavaScript.

Méthode constructeur :

new function() { 
var 变量... 
} 

Méthode d'exécution en ligne :

(function() { 
var 变量... 
})(); 

Quelles sont les différences entre eux dans le cadre du mécanisme de fonctionnement interne de JavaScript ? Quelle est la meilleure façon de créer ? Quels avantages présente-t-elle par rapport aux fermetures créées par d’autres moyens ?

Voici comment je le comprends :

Différence :

Première : les sous-méthodes peuvent partager des variables
Deuxièmement : variables partagées internes de la sous-méthode

Comparez :

Je pense qu'en ligne, c'est mieux ;

Avantages :

Généralement, la création en ligne nécessite de la mémoire à la demande, car seules les variables exécutées localement sont en mémoire. Les codes associés et dépendants peuvent être organisés pour minimiser le risque d'interactions inattendues et construire toutes les variables d'exécution de méthode doivent être stockées en mémoire, ce qui affectera les performances de la page Web. Il est recommandé de supprimer les variables avant de quitter

Bien sûr, ce n'est que ma compréhension personnelle. En fait, l'utilisation de fermetures entraînera généralement des fuites de mémoire, en particulier sous le navigateur du noyau IE. Il est préférable de supprimer les variables après leur utilisation.

Ce qui précède représente l'intégralité du contenu de cet article, j'espère que vous l'aimerez tous

Déclaration:
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