Крутил коды по варианту ТС и
Nexus, и вот такой ужатый (в т.ч. без self с bind(this))
Память растет на первых двух кликах. Сбор мусора в хроме ничего не дает.
Почему двух??
(в примере здесь замеры немножко нерегулярно прыгают)
<div class='div_class'></div>
<button class = 'but_class'>Click</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
function Example(){
this.name;
this.container_name_selector = "";
self = this;
this.eventClickButton = function(e, attribute){
$("."+self.container_name_selector).text(self.name);
};
this.init = function(name, container_name_selector, selector_button){
this.name = name;
this.container_name_selector = container_name_selector;
$("."+selector_button).on("click", this.eventClickButton);
};
};
var Test = new Example();
Test.init('Test','div_class','but_class');
</script>