javascript - jade 的语法支持 switch 语句吗?

标签 javascript node.js express pug

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

- 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 语句的语法是什么,如果有的话。

更新:Jade,不是 express。

最佳答案

编辑

这个问题显然是关于 Jade 的。

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

但是它叫做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 语句末尾的 : ,并且您没有在每个 case 之后 breaking 这意味着代码对于所有情况,无论条件如何,都将始终运行。

关于javascript - jade 的语法支持 switch 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969169/

相关文章:

javascript - For 循环中 Ajax 调用的顺序和动态数量

javascript - React with Node.js 导出两个函数

node.js - NPM 模块 : react-csv-downloader on install gives Babel not found error

node.js - 如何告诉 Jest 空间实际上是空间?

node.js - 查询父级时如何获取 Mongoose 子文档数组中值的聚合总和?

javascript - 根据下拉选择检索数据

javascript - 为客户端应用程序提取实时服务器端数据

javascript - 如果时间太短,setInterval 将不起作用

javascript - 构建时有什么方法可以使 Electron 在后台执行nodejs文件服务器吗?

node.js - Node.js-Ejs-Mongojs 堆栈上的 "has no method ' forEach ' TypeError"