假设我在脚本之上有一些函数,当给定一个哈希映射函数名称 {string} 到它下面定义的函数时,在代码中:
collect({"f1" : f1, "f2" : f2 })
问题是如果collect
在页面顶部,那么 f1, f2, .. 将指向未定义,因为这些函数尚未定义。简单的解决方案是放在collect
页面底部。但是,如果我固执地需要它位于顶部,我该如何延迟 collect 的执行,直到所有其他函数都被解析?
请注意,其余函数的定义形式为:
var name;
name = function(){ .. }
奖金问题:
如果我可以定义collect
这样,而不是传入一个有映射名称到函数,我可以只传入一个函数列表或字符串列表,并达到相同的效果,那就更好了。所以在代码中,类似
collect([f1,f2])
collect(["f1","f2"])
更新:我想我并没有明确说明我在问什么。我正在寻找专门延迟函数的执行,直到文件的其余部分被解析。我不希望通过其他一些改变我正在尝试做的事情的语义的黑客来复制这种行为。