Должны ли вы создавать объект в оболочке jQuery или это плохая практика?(пример внутри) - PullRequest
1 голос
/ 05 октября 2011

Я пытаюсь лучше понять прототипы в JavaScript, поэтому для меня имеет смысл создать объект внутри функции jQuery, чтобы использовать функции-прототипы.Насколько я понимаю, это было бы более эффективно при использовании большого количества объектов (чтобы избежать дублирования переменных и функций).Итак, упрощенный пример:

        (function($)    
        {

            $.fn.gallery = function()
            {
                return this.each(function()
                {
                    var gal = new Gallery($(this));
                    gallery.setup();
                });
            }

            function Gallery($container)
            { 
               this.$container = $container; 
            }

            Gallery.prototype.setup = function()
            {
                //Code here
            }

        })(jQuery);

Это имеет смысл для меня, поскольку для нескольких вызовов функции будет только одна версия метода setup ().Но из плагинов, которые я прочитал, это не сделано.Это плохая практика?

1 Ответ

0 голосов
/ 05 октября 2011

Судя по вашему коду, будет только один метод статической настройки. Однако существует несколько экземпляров Gallery.

function Gallery(){}
Gallery.prototype.setup = function(){} //Adds a static method to Gallery

var gal = new Gallery(); //Creates a new Gallery instance
var gal2 = new Gallery(); //Creates a new Gallery instance
gal.setup == gal2.setup; //true

<ч /> Если вы хотите изучать JavaScript, я рекомендую не начинать с JQuery. Когда вы освоили JQuery, вы почти ничего не узнали о JavaScript. Однако, когда вы начинаете с JavaScript, изучать JQuery довольно просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...