関数オブジェクトの代入
いつも、
window.onload = function() { .... }
と書いていたので気が付かなかったが、http://homepage3.nifty.com/aya_js/js2/js201.htm によると、
<SCRIPT LANGUAGE="JavaScript"> var a; function init() { a = document.forms[0].elements[0].value; } window.onload = init; </SCRIPT>
a という変数が宣言され、init という関数オブジェクトが定義され、 window オブジェクトがロードされたときに実行されるコードが init とされます。 そして、このページがロードされ終わったときに、init が実行されます。
ここで初学者が間違えやすいのは、window.onload = init;
を、
window.onload = init();
や、
window.onload = "init()";と書いてしまうことです。 ここではあくまで関数オブジェクト(へのアドレス)を代入します。
だそうだ。