Javascript Switch:您可以多次使用相同的案例吗?

问题描述 投票:5回答:1

我有一个基于元素“类型”的开关触发不同的默认设置。

多个“类型”通常共享默认设置,如backgroundColor,因此我们将它们组合在一起,以多个案例设置。当我们修改它时,能够随时调整每个“类型”并且通常最终会有大量重复,因此它的每个类型都在它自己的小盒子中。

我想要做的是使用一个共享的情况,然后再次声明它的特殊属性。

就像是:

function setDefaults(base) {
    switch (base.type) {
            case 'rectangle':
            case 'circle':
            case 'areaMap':
            case 'clock':
            case 'news':
            case 'weather':
            case 'webview':
            case 'camera':
                base.properties.background = this._getRandColor();

            case 'areaMap':
                base.properties.height = '600px';
                base.properties.width = '800px';
                break;
        }
    return base;
}

我不确定这是否有用......

javascript switch-statement
1个回答
2
投票

不,它不起作用。它似乎只能起作用,因为你在第一个案例之后错过了一个break。没有那个break,如果第二个案件被称为任何东西,它将被执行。

例如,如果您调用第二个案例case 'foo':,它仍将设置高度/宽度属性。由于前一个case语句中缺少中断,因此应用了高度和宽度。

@machinegost和@jorg分别获得以下其他来源:

© www.soinside.com 2019 - 2024. All rights reserved.