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.