Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
开关块javascript中的If语句_Javascript_If Statement_Switch Statement_Conditional - Fatal编程技术网

开关块javascript中的If语句

开关块javascript中的If语句,javascript,if-statement,switch-statement,conditional,Javascript,If Statement,Switch Statement,Conditional,在Javascript的开关块中,是否可以使用来自开关块的响应的if/else语句?下面是我的尝试。这是一个CodeAcademy项目,您必须使用开关块和条件语句编写自己的冒险 var user = prompt("You awake; dazed, blurred and lost. What do you do?").toLowerCase() var day = 0; switch (user) { case "look at the time": console

在Javascript的开关块中,是否可以使用来自开关块的响应的if/else语句?下面是我的尝试。这是一个CodeAcademy项目,您必须使用开关块和条件语句编写自己的冒险

var user = prompt("You awake; dazed, blurred and lost. What do you do?").toLowerCase()
var day = 0;

switch (user) {
    case "look at the time":
        console.log("Good start, how long was I out for?");
        if (
        case "look at the time" && day === 0) {
            console.log("it's only been a few hours, but time is still ticking");
            day++
        } else if (day > 0) {
            console.log("it's been " + day + "s! Will I make it out of here");
            day++
        }
        break;
    case "figure out where I am":
        console.log("Yeah, how did I end up here in the first place?");
        if (
        case "figure out where I am" && day === 0) {
            console.log("This is a good checkpoint");
            day++
        }
        break;
    case 'run':
        console.log("Dry your eyes, find a direction, and hope for the best");
        break;
    case 'give up':
        console.log('Thanks for trying, have fun, where ever you are...');
        break;
    default:
        console.log("you fall back unconscious, hoping to wake again");
        day++;
        if (
        default) {
            return user;
        }
        if (
        case 'run' ||
        case 'give up') {
            console.log("It would have ended up coming down to this option anyway");
        }
}

如果您在
if
语句中更改停止使用
case
一词,它将起作用,例如,它应该是这样的,以便与case语句中的
user
变量进行比较:

if (user === "look at the time" && day === 0) {
    console.log("it's only been a few hours, but time is still ticking");
    day++
} else if (day > 0) {
    console.log("it's been " + day + "s! Will I make it out of here");
    day++
}

在这种情况下,比较
user==“查看时间”
是多余的,因为该逻辑已经在switch语句本身中进行了计算。我只是把它包括在内,这样你就可以看到如何与
用户
变量进行比较,但它可以完全排除,在这种情况下也有相同的效果。

你不需要再次检查(也不能)案例,只需检查一天。不,不可能将if语句放在
开关
块中。您只能将
case
s放在那里。您也不能将
case
s置于
if
-条件中。这只是一个语法错误。