2010-05-07 4 views
3

donc je comprends tout à fait pourquoi nous namespace en javascript, mais est principalement à des fins d'organisation et de garder l'espace de nommage global ?. bien rangé Est-ce que l'espace de nom aide réellement dans la performance du moteur de navigateur/JS. Juste demande ce que vous étaient. MerciJavascript Namespacing. Augmente-t-il les performances de JS/Browser?

+0

duplication possible de http://stackoverflow.com/questions/2102591/namespacing-technique-in-javascript-recommended-performant-issues-to-be-aware –

Répondre

4

Il entrave techniquement les performances, mais pas beaucoup, selon la profondeur que vous commencez à aller. Silobox (http://www.silobox.com/) est un outil d'analyse comparative des performances JavaScript et nous avons écrit un test qui teste cette fonction. Nous avons constaté que plus l'objet était imbriqué, plus l'accès à ces propriétés était long.

Donc, pour une vitesse optimale, je vous recommande d'ajouter des fonctions de raccourcis globales à votre code.

Supposons que vous avez:

var mycompany.myproj.Something = function(){ ... }; 

Il est bon d'inclure

var MCSomething = mycompany.myproj.Something; 

De cette façon, lorsque le moteur JS regarde MCSomething, il ne doit pas descendre des arbres. Google Maps utilise cette approche.

+0

merci pour les bonnes réponses. j'utiliserai certainement les fonctions globales de raccourci :) – 29er

3

Il ne devrait pas y avoir de effet notable sur les performances de l'utilisation des espaces de noms. Les principales raisons sont exactement ce que vous avez mentionné: garder l'espace de noms global propre (pour éviter les conflits de noms) et l'organisation.

Questions connexes