2012-04-01 11 views
7

Próbowałem tego w jade obsługiwanym przez ekspres, ale otrzymałem "nieoczekiwany identyfikator" jako błąd.Czy składnia jadeitów obsługuje instrukcję switcha?

- switch(myvar) 
    - case: "0" 
     span First Case 
      break 
    - case: "2" 
     span Second Case 
      break 
    - case: "3" 
     span Third Case 
      break 
    - case: "4" 
     span Fourth Case 
      break 

Byłem ciekawy, jaka jest składnia instrukcji switch, jeśli taka istnieje.

Aktualizacja: Jade, nie ekspresowe.

+0

Czy chodziło o * "Czy ** node.js ** ma instrukcję switch" *? – Joseph

Odpowiedz

18

EDIT

To pytanie jest pozornie o Jade zamiast.

Ale odpowiedź nadal brzmi: tak :).

Ale to się nazywa case:

Od the docs

case friends 
    when 0 
     p you have no friends 
    when 1 
     p you have a friend 
    default 
     p you have #{friends} friends 

JavaScript instrukcji switch.

switch(variable){ 
    case 1: 
     // do something 
     break; 
    case 2: 
     // do something else 
     break; 
    // and so forth 
    default: 
     // do something if nothing 
     break; 
} 

Być tym Express.js działa w Node.js, który jest po prostu JavaScript - tak. Express ma instrukcję switch, ponieważ JavaScript ma instrukcję switch. (Nawet coffeescript ma switch że „zbiera” w dół do JavaScriptu switch oświadczeniu.)

MDN reference: switch statement

Wygląda na to, składnia jest pomieszane tam - co to są te „-” znaki? Brakuje też : od końca każdego oświadczenia case, a po każdym przypadku nie jesteś break, co oznacza, że ​​kod WSZYSTKICH przypadków będzie ZAWSZE działał niezależnie od warunku.

+0

To jade - patrz aktualizacja. –

+0

Interesujące, że nazwał to "przypadkiem" –