这个 switch / else 语句有什么问题?尝试根据国家和时间创建语言问候语

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

所以我正在尝试编写使用时间和国家/地区来确定正确问候语的代码......这段代码有什么问题? 如果国家是西班牙或墨西哥,时间在 0 到 12 点之间,我希望它发出问候语“buenos dias”,如果是晚上,则发出“beunas noches”。同样,如果是法国,我希望它根据一天中的时间吐出早上好或晚上好问候语。

    function sayHello(country, time) {
    let greeting;

if (time >= 0 < 12){
    switch (country){
        case 'Spain':
        case 'Mexico':
            greeting = 'buenos dias'
            break;
        case 'France':
            greeting = 'bon matin'
            break;
        default:
            null
            break;
}
}

else if (time >= 12 < 24){
    switch (country){
        case 'Spain':
        case 'Mexico':
            greeting = 'buenas noches'
            break;
        case 'France':
            greeting = 'bon soir'
            break;
        default:
            null
            break;
}
}

else {
    greeting = null
}

    // Don't change code below this line
    return greeting;
}
javascript switch-statement
1个回答
0
投票

条件语句中使用的表达式(

time >= 0 < 12
time >= 12 < 24
)不是实现您想要做的事情的正确方法。

对于

time >= 0 < 12
情况,JavaScript 首先解释
time >= 0
部分,产生
true
false
,然后将该结果与
[true or false] < 12
进行比较。

检查的正确方法是

time >= 0 && time < 12

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