2016-08-03 12 views
1

Ich studiere w3schools in Bezug auf Semikolon Platzierung und sie sagten "Immer eine einfache Aussage mit einem Semikolon beenden." Und: "Beenden Sie eine komplexe Anweisung nicht mit einem Semikolon." Sie haben nicht definiert, was der Unterschied zwischen einer einfachen und komplexen Aussage ist und eine gründliche Online-Suche hat auch keine Antwort geliefert. Ich bin also immer noch verwirrt mit JavaScript Semikolon Platzierungen. Würde mich über jede Hilfe freuen. Vielen Dank!Unterschied zwischen einfachen und komplexen Aussage - Javascript

-Link: http://www.w3schools.com/js/js_conventions.asp Es ist unter der Überschrift: "Statement-Regeln"

+1

einen Link auf die Seite, die Sie zitieren. Im Allgemeinen schreiben Sie einfach ein Semikolon am Ende einer Anweisung. Es gibt einige Stellen, an denen sie nicht benötigt werden, z. B. nach einer Funktionsdefinition, aber selbst wenn Sie eine nach einer Funktion hinzufügen, würde dies nichts zerstören. Wenn Sie nicht sicher sind, ob ein Semikolon gehört oder nicht, versuchen Sie es. Denken Sie auch daran, die MDN-Website zu verwenden, um JavaScript anstelle von 3wschools zu lernen. w3s neigt dazu, unpräzise Beschreibungen und Beispiele zu geben. –

+0

Ich weiß nicht, ob es richtig ist, einen Link zu SO's Dokumentation als Antwort zu posten oder nicht, aber es gibt einen Artikel über [Automatische Semikolon-Einfügung] (http://stackoverflow.com/documentation/javascript/4363/automatic-semicolon) -insertion-asi # t = 201608031320000905945) – BSMP

+0

Wie Pamblam sagte, w3schools ist fraglich, es gibt * viel * bessere Ressourcen. –

Antwort

1

Eine komplexe Aussage ist eine Folge von ('einfachen') Anweisungen innerhalb {}.

So würden Sie (einfache Erklärung) schreiben:

a = 3; 

und (komplexe Aussage, in vielen Sprachen genannt eine zusammengesetzte Anweisung, in JavaScript genannt BLOCK)

{ 
    a = 3; 
    b = 4; 
} 

aber nicht

{ 
    a = 3; 
    b = 4; 
}; 
+1

Ab ES 6 nicht mehr wahr, das Auslassen der ';' nach dem Definieren einer Pfeilfunktion ist ein Syntaxfehler. –

+1

Eigentlich besser ein ** Block ** genannt, was der Standardbegriff ist. "Zusammengesetzte Anweisung" wird in anderen Programmiersprachen verwendet, ist aber in der JS-Spezifikation nicht zu finden. –

+0

@JaredSmith Nicht sicher, was du meinst. Beziehen Sie sich auf die prägnante Körperform einer Pfeilfunktion? Das ist keine Aussage, sondern ein ** Ausdruck **. –

0

Komplexe Aussage bezieht sich auf Blöcke wie in if, for, while usw.

if(condition){ 

} //no semicolon 

Einfache Erklärung:

var x = 2; 
+1

Eine komplexe Aussage (die ein falscher und verwirrender Ausdruck ist, der in JS nicht verwendet wird) muss nicht unbedingt etwas sein. Es kann ganz alleine dort sitzen. –