When I have some code I need to execute more than once I wrap it up in a function so I don't have to repeat myself. Sometimes in addition there's a need to execute this code initially on page load. Right now I do it this way:
function foo() {
alert('hello');
}
foo();
I would rather do it this way:
(function foo() {
alert('hello');
})();
Problem is, this will only execute on page load but if I try to call it subsequent times using foo()
it won't work.
I'm guessing this is a scope issue but is there any way to get self executing functions to work upon getting called later?