@AlexandrMa

Что лучше, самовызывающаяся функция или объект для плагина?

Делаю плагин на JS. Вижу абсолютно разную реализацию. Хотелось бы делать по какому-то единому стандарту.

1. (делаю пока что именно так)
let Plugin = {
  param1: 1,
  param2: 1,
  method1(){
    //
  },
  method2(){
    //
  }
};


2. (часто вижу так)
(function() {

  this.Plugin = function(){

    this.param1 = 1;
    this.param2 = 2;
      
  }

  Plugin.prototype.method1 = function(){
    // public
  }

  function method2(){
    //private
  }

}());

Так как нужно то?)
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
У 1-го варианта возможен косяк, если вдруг подключат файл с плагином дважды: ошибка из-за переопределения переменной Plugin. Как вам вариант:
{ // обернуть, чтобы не засорять глобальную область

  // внутри любая анархия, переменные

  // исходный вариант 1
  const Plugin = {
    param1: 1,
    param2: 1,
    method1(){
      //
    },
    method2(){
      //
    }
  };

  window.Plugin = Plugin;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы