In C, if I don't dynamically malloc Anything inside a function, it is free'd when the function ends. I have no clue how Javascript (in special, event listeners) works in that sense. The question is, if a event listener is declared inside a function, is it killed when the function ends or it keeps listening?
CONTEXT
I have an object page{}
with a method battle()
.
In a choose_action()
method from page, I call battle()
.
When battle()
ends, choose_action
is called again.
Battle()
have event.listeners
addressed to buttons with fixed ids ("attack", "defense", etc). When the img with the id "attack" is pressed, the attack()
(Which is also a page{}
method) function is called.
My point is, are the event.listeners
created in battle()
global? Or are they freed when battle()
ends? I'm afraid calling battle() again will create doubled attack_event_listeners
, that will make attack (n) times every click, n being the times battle()
is called.