2012-04-01 8 views
7

Ich versuchte dies in Jade serviert von Express aber bekam "unerwartete Kennung" als Fehler.Unterstützt die Jade-Syntax eine switch-Anweisung?

- 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 

Ich war neugierig, was die Syntax für eine switch-Anweisung ist, wenn es eine gibt.

Update: Jade, nicht ausdrücken.

+0

Meinten Sie * "Hat ** node.js ** eine switch-Anweisung" *? – Joseph

Antwort

18

EDIT

Diese Frage ist offenbar stattdessen über Jade.

Aber die Antwort ist immer noch ja :).

Aber es case genannt:

Von 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 hat eine switch-Anweisung.

Sein, dass Express.js in Node.js läuft, das ist nur JavaScript - ja. Express hat eine switch Anweisung, da JavaScript eine switch Anweisung hat. (Auch Coffeescript hat eine switch, dass „kompiliert“ bis zu einer JavaScript switch Anweisung.)

MDN reference: switch statement

Es sieht aus wie Ihre Syntax ist es vermasselt - was diese sind „-“ Zeichen? Sie vermissen auch die : vom Ende jeder case Anweisung, und Sie sind nicht break ing nach jedem Fall, was bedeutet, dass der Code für ALLE Fälle IMMER unabhängig von der Bedingung ausgeführt wird.

+0

Es ist Jade - siehe Update. –

+0

Interessant nannte er es nur "Fall" –