関数オブジェクトの代入

いつも、

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()";

と書いてしまうことです。 ここではあくまで関数オブジェクト(へのアドレス)を代入します。

だそうだ。