Das Semikolon in JavaScript stellt das Ende der Anweisung dar, aber da JavaScript über automatische Semikolon-Einfügungsregeln verfügt, ist es sehr einfach, es zu verwischen. Unter normalen Umständen generiert eine neue Zeile ein Semikolon, aber die tatsächliche Situation ist nicht anders Das heißt, bei einem Zeilenumbruch in JavaScript kann ein Semikolon generiert werden oder nicht. Ob ein Semikolon automatisch eingefügt wird, hängt hauptsächlich von der oberen und unteren Zeile ab. Daher haben selbst erfahrene Programmierer manchmal Kopfschmerzen.
Es gibt auch entsprechende Erklärungen für die automatischen Semikolon-Einfügungsregeln in ECMAScript : leere Anweisungen, Variablenanweisungen, Ausdrucksanweisungen, Do-While-Anweisungen, Continue-Anweisungen, Break-Anweisungen, Return-Anweisungen und Throw-Anweisungen. Diese bestimmten ECMAScript-Anweisungen müssen durch The getrennt werden Nummer endet. Diese Semikolons können im Quelltext immer explizit vorkommen. Der Einfachheit halber können diese Semikolons im Quellcodetext in bestimmten Fällen weggelassen werden. Mit anderen Worten: Es ist nicht erforderlich, am Ende dieser Anweisungen ein hartes Semikolon einzugeben. JavaScript fügt es automatisch am Ende der Anweisung ein.
Wenn Sie die detaillierten ECMAScript-Regeln zum automatischen Einfügen von Semikolons kennenlernen möchten, können Sie den folgenden Link anzeigen:
Die Praxis bringt die Wahrheit ans Licht. Schauen Sie sich die folgenden Beispiele an und Sie werden verstehen, dass das automatische Einfügen von Semikolons nicht so schwer zu fassen ist. Eine kleine Unachtsamkeit kann Kopfschmerzen verursachen.
Mord durch Rückkehr verursacht
Nachfolgend der zitierte Inhalt: Funktionstest(){ |
Eine Funktion, die den Wert von a+b zurückgibt, sieht auf den ersten Blick gut aus, aber das Ergebnis der Ausführung von Alert ist undefiniert. Gemäß den Regeln zum automatischen Einfügen von Semikolons wird das Semikolon automatisch eingefügt, wenn nach der Rückgabeanweisung ein Zeilenumbruch erfolgt, und es ist einfacher zu verstehen, ob kein Rückgabewert vorhanden ist. Wenn Sie die Zeile umbrechen müssen, können Sie Folgendes tun:
Nachfolgend der zitierte Inhalt: Funktionstest(){ (Funktion (){ |
Die beiden Semikolons im for-Anweisungsheader werden nicht automatisch eingefügt.
Nachfolgend der zitierte Inhalt: for( var a=1,b=10 // Semikolon wird nicht automatisch eingefügt |
ECMAScript hat auch eine Erklärung für das oben Gesagte: Die Interpretation von Semikolons als leere Anweisungen und das nicht automatische Einfügen von Semikolons in () in for-Anweisungen sind Sonderfälle und unterliegen nicht den Regeln für das automatische Einfügen.
Obwohl JavaScript eine schwach typisierte Sprache ist, sind die automatischen Semikolon-Einfügungsregeln von ECMAScript schwer zu verstehen. Durch die Entwicklung guter Code-Schreibgewohnheiten, das manuelle Einfügen von Semikolons und die Bildung einer Gewohnheit können Sie diese Probleme vermeiden. Gleichzeitig ist dies eine große Hilfe für Sie selbst und andere beim Debuggen von Programmen und beim Lesen von Code.
Gleichzeitig gibt ECMAScript Programmierern auch einige Ratschläge:
++ oder — sollten in derselben Zeile wie ihre Operanden erscheinen.
Der Ausdruck in einer Return- oder Throw-Anweisung sollte in derselben Zeile wie Return oder Throw stehen.
Beschriftungen in einer break- oder continue-Anweisung sollten in derselben Zeile wie die break- oder continue-Anweisung erscheinen.