¿Cuál es la diferencia entre una llamada de función y una referencia de función?

Tengo la siguiente función

function hello() {
 alert("hi!");
}

Toma este pedazo de código:

var elem = document.getElementById("btn");
elem.onclick = hello;

Mi pregunta puede ser un poco difícil de entender, así que tenga paciencia: ¿Qué diferencia EXACTAMENTE DE ESTE fragmento de código de una llamada normal, o qué hace que este fragmento de código requiera una referencia a la variable de función en lugar de una llamada normal? (hello();)

¿Cómo puedo saber dónde se supone que debo dar una referencia a la función y cuándo debo llamarlo?

Respuestas a la pregunta(6)

Su respuesta a la pregunta