【问题标题】:Does jade's syntax support a switch statement?玉的语法是否支持 switch 语句?
【发布时间】:2012-04-15 16:26:10
【问题描述】:

我在 express 服务的 jam 中尝试过这个,但得到“意外标识符”作为错误。

- 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

我很好奇 switch 语句的语法是什么,如果有的话。

更新:翡翠,不表达。

【问题讨论】:

  • 你的意思是node.js有switch语句吗”

标签: javascript node.js express pug


【解决方案1】:

编辑

这个问题显然是关于翡翠的。

但答案仍然是肯定的:)。

但它叫case

来自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 有一个 switch 语句。

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

因为 Express.js 在 Node.js 中运行,而 Node.js 只是 JavaScript —— 是的。 Express 有一个 switch 语句,因为 JavaScript 有一个 switch 语句。 (即使是 coffeescript 也有一个 switch 可以“编译”为 JavaScript switch 语句。)

MDN reference: switch statement

看起来你的语法有问题——那些“-”字符是什么?您还缺少每个 case 语句末尾的 :,并且您在每个案例之后都没有 breaking,这意味着无论条件如何,所有案例的代码都将始终运行。

【讨论】:

  • 有趣的是他只是称它为“案例”
  • 我看到的一个问题是,如果您将这种情况与默认的 Nothing 或 null 放在表中会生成一个空格,有什么方法可以解决这个问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-07
  • 2013-12-06
  • 2016-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多