¿Cuál es la diferencia entre estos? ¿Se formará un bucle de eventos después de que finalice la carga de la página?
Son tan diferentes que realmente no vale la pena compararlos.
Vincular un controlador de eventos al evento de carga llamará a esa función cuando:
Pasar una función a setTimeout con un tiempo de 0 llamará a esa función cuando:
setTimeout en primer lugar