¿Por qué tienes que pasar el objeto de evento como un parámetro?

Estoy aprendiendo a manipular eventos en JavaScript y me pregunto "¿por qué tiene que pasar el objeto de evento como un parámetro (argumento) a una función cuando usa el manejo de eventos?"

Aquí hay un ejemplo de lo que estoy hablando:

<code><script type="text/javascript">
    document.getElementById('button_1').onclick = (function (event) {
        alert("The event is: " + "on" + event.type);
    });
</script>
</code>

Escribí el código de arriba y entiendo bastante bien lo que hace. Simplemente no entiendo el paso entero. Pensé en esto como una forma de asignar una función anónima al controlador de eventos button_1.onclick. ¿El controlador de eventos intenta pasar un evento antes de que sea asignado o ...? Me está costando entenderlo. Si alguien pudiera aclararme esto, estaría agradecido.

[Intenté buscarlo en Google pero encontré explicaciones y ejemplos muy complejos. Solo una explicación simple a intermedia ayudaría.] =)

Muchas gracias.

Respuestas a la pregunta(5)

Su respuesta a la pregunta