J'essaie de comprendre comment fonctionne ce modèle JavaScript : il s'agit d'une bibliothèque entière entourée de parenthèses. D'après ce que j'ai compris, les parenthèses sont un moyen d'étendre les variables, mais à l'intérieur se trouve une seule fonction qui prend l'argument (global, factory).
J'ai essayé de chercher comment ce modèle fonctionne mais je n'ai rien trouvé.
Le corps du code renvoie un objet qui peut être utilisé ailleurs, mais je ne comprends pas à quoi servent les arguments global
y factory
accomplir.
J'ai lu des articles sur les enceintes et les fonctions anonymes, mais je n'ai rien trouvé sur une enceinte définie de cette manière.
(function (global, factory) {
global.className = factory();
} (this, function () {
ObjectName.prototype = function() {
/* some code */
}
var data = {
getUsefulData: function(obj) {
return new ObjectName(obj, 'usefuldata');
}
}
return data;
})
);
Questions :
- que se passerait-il si la fonction externe n'avait pas d'arguments ?
- quelle valeur est assignée ici au global et aux variables ?