JavaScript - извлеките функцию, оставив ее приватной
В настоящее время у меня есть эта структура:
(function(myScope) {
myScope.public = function() {alert("I'm public!")};
myScope.privileged = function() {alert("I can call private!"); private();};
var private = function() {alert("I'm private!")};
})(window.myObj);
Работает нормально.private
не доступен из внешнего мира, покаprivileged
могу назвать это. Но сейчас закрытые части слишком велики, и я надеюсь извлечь их. Я хочу, чтобы он был недоступен извне, но он должен вызываться привилегированными функциями. Есть ли способ достичь этого?
ОБНОВИТЬ:
Выше приведен только пример. Общая проблема заключается в том, что по мере расширения приложения один файл js становится длинным и неуправляемым. Цель состоит в том, чтобы разбить такой файл JS на модуль, не ставя под угрозу конфиденциальность.