Was bedeutet "()" in einem Funktionsaufruf?

Now, ich rufe normalerweise eine Funktion (die keine Argumente benötigt) mit @ a() so was

myFunction(); //there's empty parens

Außer bei jQuery-Aufrufen, mit denen ich durchkommen kann:

$('#foo').bind('click', myFunction); //no parens

Fein. Aber vor kurzem habe ich diesen Kommentar gesehenHie auf SO:

"Erwägen Sie die Verwendung vonsetTimeout(monitor, 100); Anstatt vonsetTimeout('monitor()', 100);. Eval ist böse :) "

Yikes! Sind wir wirklicheval() -eine Zeichenfolge hier? Ich glaube, ich verstehe die Bedeutung und die Implikationen des Aufrufs einer Funktion nicht wirklich. Was sind die wirklichen Regeln für das Aufrufen und Verweisen auf Funktionen?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage