Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как правильно создавать экземпляры функции (https://javascript.ru/forum/misc/41870-kak-pravilno-sozdavat-ehkzemplyary-funkcii.html)

shaltay 02.10.2013 14:27

Как правильно создавать экземпляры функции
 
Доброго времени.

Просветите теорией.
Есть, к примеру код:
function anyFunc(x){

   var self = this
   self.but = x
   self.anyMethod = function(){
      console.log(self.but.val())
   }

   this.but.on('click',self.but)

}


По нажатию на кнопку я создаю объект
$('button').on('click',function(){
   new anyFunc($(this))
})


Кнопок button множество и я хочу для каждого создать свой экземпляр. Плюс Чтобы для каждой из кнопок экземплярсоздавался всего один раз.

Сейчас решил так:
$('button').each(function(){
    $(this).one('click',function(){
        new anyFunc($(this));
    })
})


Но хочется сделать грамотнее. Подскажите плиз как правильно
PS: Сорри за jquery, использовал его чтобы сократить примерочный код.

Deathdrumer 10.04.2016 11:12

Столкнулся с подобной проблемой, подозреваю, что необходимо уничтожить все старые экземпляры функции, для того, чтобы событие выполнялось 1 раз от имени одного и единственного экземпляра функции

Deathdrumer 10.04.2016 11:14

А еще капни в сторону замыканий


Часовой пояс GMT +3, время: 06:34.