例えば、jQueryでこんなサンプルを見かけます。 この$(function() {... });のイディオムはなんために存在するのか?
<body> <script> $(function() { $( "#selectable" ).selectable(); }); </script> <ol id="selectable"> </ol> </body>
$()関数はドキュメントツリーが完成したタイミングで実行されるようです。
$()をつけずに実行するとDOMが出来上がっていないうちに実行され、スクリプトの読み込み位置によっては、処理がスカる可能性があるというわけです。
function(){}を使っているのは、JavaScriptにはスコープがないので、関数スコープにするために関数にしているのですね。
ちなみにこれは、window.onloadイベント(ページ内のすべての要素(画像などのリソースを含む)が読み込み完了したタイミング)よりも前のタイミングです。