2010-08-17 3 views
1

Quelles sont les différences entre ces deux types de déclarations d'espace de noms? Le premier est-il meilleur que le second ou vice versa?Espace de noms JavaScript Différences de déclaration

(function($) 
{ 
    $.build = { 
     init: function() 
     { 
      this.attachEvents(); 
     } 
    } 
} 

$(document).ready(function() { 
     $.build.init(); 
    }); 
})(jQuery); 

contre

var build = { 
    init: function(){ 
     this.attachEvents(); 
    } 
}; 

$(document).ready(function() { 
     build.init(); 
}); 

Répondre

3

Il existe deux différences principales pratiques. Le premier ne crée aucune variable supplémentaire accessible de l'extérieur et ne dépend pas de $ étant jQuery en dehors de la fonction. Le second crée une variable build et nécessite que $ signifie jQuery.

2

Les deux sont bons mais le premier est probablement meilleur car il permet à jQuery de jouer en toute sécurité avec d'autres bibliothèques. Il ne se heurte à aucune autre variable déclarée comme $.