Rozumiem, że dobrze jest używać składni średników po wszystkich instrukcjach w JavaScript, ale czy ktoś wie dlaczego instrukcje if/else nie wymagają ich po nawiasach klamrowych?Dlaczego średniki nie są używane po instrukcjach if/else?
Odpowiedz
- średnik jest używany do zakończenia jednej instrukcji
{
i}
rozpocząć i zamknąć grupę sprawozdania
Zasadniczo if-else
muszą być przestrzegane przez każdą oświadczenia lub grupy oświadczeń.
if-else
następuje stwierdzenie:
if (condition) statement;
if (condition); // followed by a statement (an empty statement)
if-else
następnie grupy stwierdzeń:
if (condition) {
statement;
statement;
}
if (condition) {
// followed by a group of statements of zero length
}
if-else
musi kończyć się ;
jeśli to jest po jednej instrukcji. if-else
nie kończy się na ;
, po którym następuje grupa instrukcji, ponieważ ;
służy do zakończenia pojedynczej instrukcji i nie jest używana do kończenia grupy instrukcji.
elokwentnie umieścić. – Orangepill
Nie zgadzam się z "nawet jeśli-else musi kończyć się;". Każde wyrażenie w javascript nie musi kończyć się; FYI. Nie ma ścisłej zasady jako takiej. – Vineeth
Każda instrukcja, która nie jest zakończona kontekstualnie (tj. Przez nawiasy klamrowe) potrzebuje; – Orangepill
Ponieważ same nawiasy klamrowe są znakami kończącymi.
Są to znaki, które zawierają złożony blok instrukcji i są wewnętrznie zakończone. To jak wstawianie kropki na końcu zdania, to sygnalizuje parserowi, że myśl jest kompletna.
Podczas gdy jest całkowicie brzydki, ważne jest zawijanie każdej instrukcji w {} i pomijanie;
Ale można pominąć; przez zawijanie w {} – Orangepill
Zdecydowanie nie przekazuje js lint – FlavorScape
Prawdziwą odpowiedzią jest to, że wiele współczesnych języków skopiowało swoją składnię z C, która ma tę właściwość. JavaScript jest jednym z tych języków.
C pozwala bloki komunikat
{ ... }
(które nie wymagają zakończenia średników) mają być stosowane tam, gdzie mogą być stosowane oświadczenia. Tak więc możesz używać bloków instrukcji jako klauzul tam i potem, bez średników.
Jeśli umieścisz instrukcję pojedyncza w klauzuli then- lub else, będziesz musiał zakończyć ją średnikiem. Znowu, tak jak w C, z dodatkowym skręceniem JavaScript; jest opcjonalny na końcu wiersza, jeśli wstawienie go nie spowodowałoby błędu składni.
'while {} do' i 'for() {}' również mają tę właściwość. –
Chodzi o gramatykę języka. Wiesz, co to jest, poszukaj "Oświadczenia" [tutaj] (http://www-archive.mozilla.org/js/language/grammar14.html). – acdcjunior
[Kiedy należy używać średnika po nawiasach klamrowych?] (Http://stackoverflow.com/questions/2717949/when-should-i-use-a-semicolon-after-curly-braces) –