Let's say I have some function on top of a script that, when given a hash mapping function name {string} to functions defined below it, so in code:
collect({"f1" : f1, "f2" : f2 })
The problem is if collect
is at the top of the page, then f1, f2, .. will point to undefined since those functions have, yet to be defined. The easy solution is to put collect
at the bottom of the page. But if I stubbornly need it to sit at the top, how do I delay execution of collect until all other functions are parsed?
Note, the rest of the functions are defined in form:
var name;
name = function(){ .. }
Bonus question:
If I can define collect
such that instead of passing in a has mapping name to function, I can just pass in a list of functions, or a list of strings, and achieve the same effect, it would be even better. So in code, something like
collect([f1,f2])
collect(["f1","f2"])
Update: I think I'm not being explicit about what I am asking. I am looking specifically to delay the execution of a function until the rest of the file is parsed. I am not looking to replicate this behavior via some other hack that changes the semantics of what I am trying to do.