表达式在switch case语句中

表达式在switch case语句中

我正在尝试创建一个switch语句但我似乎无法使用得到评估的表达式(而不是设置字符串/整数)。我可以使用if语句轻松完成此操作,但希望案例更快。

我正在尝试以下方法

function reward(amount) {
    var $reward = $("#reward");
    switch (amount) {
        case (amount >= 7500 && amount < 10000):
            $reward.text("Play Station 3");
            break;
        case (amount >= 10000 && amount < 15000):
            $reward.text("XBOX 360");
            break;
        case (amount >= 15000):
            $reward.text("iMac");
            break;
        default:
            $reward.text("No reward");
            break;
    }}

我错过了一些明显的东西,或者这是不可能的?谷歌在这种情况下并不友善。


HUWWW
浏览 745回答 3
3回答

当年话下

你可以随时做switch&nbsp;(true)&nbsp;{ &nbsp;&nbsp;case&nbsp;(amount&nbsp;>=&nbsp;7500&nbsp;&&&nbsp;amount&nbsp;<&nbsp;10000): &nbsp;&nbsp;&nbsp;&nbsp;//code &nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;case&nbsp;(amount&nbsp;>=&nbsp;10000&nbsp;&&&nbsp;amount&nbsp;<&nbsp;15000): &nbsp;&nbsp;&nbsp;&nbsp;//code &nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;//etc...它的工作原理是因为它true是一个常量,所以将执行第一个case语句下的代码,其表达式的计算结果为true。我觉得这有点“棘手”,但我觉得使用它并没有错。一个简单的if/else陈述可能会更简洁,你不必担心意外跌倒。但无论如何它仍然存在。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript