Heim >Web-Frontend >js-Tutorial >Warum wird „setTimeout(alertMsg, 3000)' gegenüber „setTimeout('alertMsg()', 3000)' bevorzugt?
Bei Verwendung von setTimeout können Sie die Funktion direkt ohne Anführungszeichen oder Klammern aufrufen oder den Funktionsnamen in Anführungszeichen setzen mit Klammern. Hier ist die Aufschlüsselung:
Mit Klammern:
setTimeout("alertMsg()", 3000);
In diesem Fall wird „alertMsg()“ als Zeichenfolge behandelt und setTimeout führt diese Zeichenfolge als aus ein Skript. Dieser Ansatz wird nicht empfohlen, da er zu unerwartetem Verhalten führen kann.
Ohne Anführungszeichen und Klammern:
setTimeout(alertMsg, 3000);
Dies ist der bevorzugte Weg um eine Funktionsreferenz an setTimeout zu übergeben. Es übergibt direkt alarmMsg, von dem angenommen wird, dass es sich um eine Funktion handelt.
Nur in Anführungszeichen:
setTimeout("alertMsg", 3000);
Dies ist ein Alias für das vorherige Beispiel, aber es ist nicht empfohlen. Dies impliziert, dass Sie eine Zeichenfolge an setTimeout übergeben, was irreführend sein kann.
Das obige ist der detaillierte Inhalt vonWarum wird „setTimeout(alertMsg, 3000)' gegenüber „setTimeout('alertMsg()', 3000)' bevorzugt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!