Unterschied zwischen dem Zuweisen eines Ereignishandlers zu einer Methode mit und ohne Klammern

Angenommen, Sie haben Folgendes:

function doStuff() { //code }

Was ist der Unterschied zwischen den beiden Aussagen?

window.onload = doStuff;

window.onload = doStuff();

Beide Anweisungen haben die Methode sofort aufgerufen, aber wenn ich die erste Anweisung verwendet habe, könnte ich onload als Funktionszeiger auf "doStuff" behandeln und die Methode einfach erneut aufrufen:

onload();

Ist dies der einzige Unterschied und im Allgemeinen ist dies alles garantiertes Verhalten für Event-Handler?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage