スクリプトの上にいくつかの関数があるとしましょう。ハッシュ マッピング関数名 {string} をその下に定義された関数に指定すると、コードでは次のようになります。
collect({"f1" : f1, "f2" : f2 })
問題は、collect
がページの上部にある場合、f1、f2、.. は、これらの関数がまだ定義されていないため、未定義を指すことです。簡単な解決策はcollect
、ページの下部に配置することです。しかし、頑固に一番上に置く必要がある場合、他のすべての関数が解析されるまで collect の実行を遅らせるにはどうすればよいでしょうか?
残りの関数は次の形式で定義されていることに注意してください。
var name;
name = function(){ .. }
おまけの質問:
collect
has マッピング名を関数に渡す代わりに、関数のリストまたは文字列のリストを渡すだけで同じ効果が得られるように定義できれば、さらに良いでしょう。コードでは、次のようなものです
collect([f1,f2])
collect(["f1","f2"])
更新:私が求めていることについて明確ではないと思います。ファイルの残りの部分が解析されるまで、関数の実行を遅らせることを特に検討しています。私がやろうとしていることのセマンティクスを変更する他のハックを介して、この動作を再現するつもりはありません。