У меня есть модуль, написанный структурированным с шаблоном раскрывающего модуля. Это содержит подмодуль, который работает как перегрузка. Несколько функций основного модуля имеют параметры, которые не должны использоваться с usercode - только через подмодуль. Как я могу получить доступ к параметрам из подмодуля, но сделать их недоступными для «внешнего пользовательского кода»? Должен ли я сделать еще один слой для этого?JS Выявление модуля: Парамы, которые не должны использоваться пользовательским кодом
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
Ну, вы не поняли, что я имел в виду. См. Ответ Кроуза. Спасибо за ваше время. – sandrooco
Это по сути то же самое, что и по-разному. Crowes также должен добавить публичные параметры (параметры, вы, хотите) к функции 'userAccessibleCreate', поскольку, как написано, он не принимает никаких именованных параметров без использования объектов arguments. – Shilly