Так что я не могу найти верный ответ на этот, только неопределенные примеры нескольких вариантов, где используются подобные объявления плагина/метода. Я знаю, что, говоря
$.fn.myPlugin
я определяю общедоступный метод плагин, который может быть выполнен на любом допустимом объекте JQuery, где п обозначает прототип. Мой вопрос, то, определив метод, либо внутри моего главного плагина, как так
$.fn.myPlugin.methodName
или вне моего плагина, как так
$.something.methodName //where 'something' is in place of 'fn'
это влияет на это время государственно-частное/метод? и если каждый из них является другим типом декларации, в чем разница.
Задняя часть вопроса, почему я хотел бы знать, чтобы дать некоторый контекст ситуации, заключается в том, что я хочу определить один основной плагин, который можно вызвать и запустить нормально, однако, если конечный пользователь хочет переопределить какой-либо метод Я позволил быть публичным, тогда они могут это сделать. Если у меня есть какие-то методы, которые я не хочу, чтобы пользователь переопределял, но вместо этого предоставлял обратные вызовы, чтобы они могли подключиться к нему, я хочу сделать этот метод закрытым.
Если вы устанавливаете что-нибудь на '$ .whatever', то это публика ... –
так бы я тогда сделать' $ .fn.myPlugin.privateMethod' объявить частный метод для MyPlugin? – Turk
Нет. Вы не можете создавать частные методы в общедоступной области. Посмотрите на ответ, предоставленный @NiettheDarkAbsol ниже, чтобы посмотреть, как это сделать. – Archer