Różnica między setTimeout a cudzysłowami i nawiasami bez nich

Uczę się JavaScript i dowiedziałem się niedawno o wydarzeniach związanych z synchronizacją JavaScript. Kiedy się dowiedziałemsetTimeout wW3Schools, Zauważyłem dziwną postać, na którą wcześniej nie wpadłem. Używają podwójnych cudzysłowów, a następnie wywołują funkcję.

Przykład:

<code>setTimeout("alertMsg()", 3000);
</code>

Wiem, że podwójne i pojedyncze cudzysłowy w JavaScript oznaczają ciąg.

Widziałem też, że mogę zrobić to samo:

<code>setTimeout(alertMsg, 3000);
</code>

W nawiasach, do których się odnosi, bez nawiasów jest kopiowany. Kiedy korzystam z cytatów i nawiasów, robi się szalony.

Będę zadowolony, jeśli ktoś może wyjaśnić mi różnicę między tymi trzema sposobami używaniasetTimeout:

Z nawiasami:

<code>setTimeout("alertMsg()", 3000);
</code>

Bez cytatów i nawiasów:

<code>setTimeout(alertMsg, 3000);
</code>

A trzeci to tylko cytaty:

<code>setTimeout("alertMsg", 3000);
</code>

N.B .: Lepsze źródło dlasetTimeout byłoby odniesienieMDN.

questionAnswers(4)

yourAnswerToTheQuestion