J'ai un module écrit structuré avec le motif de module révélateur. Cela contient un sous-module qui fonctionne comme une surcharge. Quelques fonctions du module principal ont des paramètres qui ne devraient pas être utilisés avec le code utilisateur - uniquement via le sous-module. Comment puis-je accéder aux paramètres du sous-module, mais les rendre indisponibles pour le "code utilisateur externe"? Dois-je faire un autre calque pour cela?JS Modèle de module révélateur: Paramètres qui ne doivent pas être utilisés par le code utilisateur
var someNamespace = someNamespace || {};
someNamespace.someModule = (function() {
// _customSiteUrl, _customToken shouldn't be available via usercode
function create(listName, data, _customSiteUrl, _customToken) {
...
}
var XS = (function() {
return {
createXS: function (siteUrl, listName, data) {
...
create(listName, data, siteUrl, token);
}
}
})();
return {
create: create,
XS: XS,
...
}
})();
someNamespace.someModule.create("hi", {}, "https://...", "someHash"); //Should not be possible!!
someNamespace.someModule.create("hi", {}); //Should be used
Eh bien, vous n'avez pas compris ce que je voulais dire. Voir la réponse des Crowes. Merci pour votre temps. – sandrooco
C'est essentiellement la même chose codée différemment. Crowes doit également ajouter les paramètres publics (parameters, you, want) à la fonction 'userAccessibleCreate', car comme écrit, il n'accepte aucun paramètre nommé sans utiliser l'objet arguments. – Shilly