Задать вопрос
kot2566
@kot2566

Jquery Что это за инициализация класса и зачем?

Есть вот такой код "класса":
var myClass = (function ($) {

    myClass = function (options) {
        var that = this;

        that.initClass();
    };

    myClass.prototype.initClass = function () {
        var that = this;
        that.someAction();
    };

    myClass.prototype.someAction = function () {
        var that = this;
        var result = 2 * 2;
        alert(result);
    };

    return myClass;

})(jQuery);

// в другом месте
 var myClass = new myClass ();


Вопрос такой:
Что это за обёртка (function ($) { ... })(jQuery);, какую роль она играет?
В чём будет отличие, если я её уберу и будет так:
var  myClass = function (options) {
        var that = this;

        that.initClass();
    };

    myClass.prototype.initClass = function () {
        var that = this;
        that.someAction();
    };

    myClass.prototype.someAction = function () {
        var that = this;
        var result = 2 * 2;
        alert(result);
    };

// в другом месте

 var myClass = new myClass ();
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Обертка эта нужна, чтобы внутри этой обертки знак доллара всегда обрабатывался, как jQuery. Это анонимная функция в аргументы которой ты передаешь переменную window.jQuery и внутри функции локально присваиваешь это значение знаку доллара.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы