Мне очень нравится шаблон модуля JavaScript для инкапсуляции данных и логики. Я также широко использую jQuery. Мой вопрос таков:
Если я определяю расширение/плагин jQuery ВНУТРИ модуля, будет ли оно локальным для этого модуля, как и другие функции? (Подозреваю, что нет...)
Пример:
var igPartListManager = (function () {
// Define a jQuery plug-in I'd like to be local to igPartListManager
(function ($) {
$.fn.myExtension = function () {
// Do something with this.each()...
}
})(jQuery);
var doSomethingCore = function () {
// Use my jQuery plug-in
$("selector").myExtension();
};
return {
doSomething
: doSomethingCore
};
})();
Будет ли это успешным вне igPartListManager?
...
$("some_unrelated_selector").myExtension();
Если это так, как мне лучше всего инкапсулировать «локальные» функции jQuery-extension/plug-in внутри модуля?