如何在javascript中将变量放入变量?

时间:2016-07-12 16:38:17

标签: javascript variables switch-statement

我正在制作一个小型迷你游戏,我必须在自己内部放置多个开关,所以我真的需要知道如何切换几个单词以便我可以制作这个游戏。我已经尝试了它,所以它完全写出来但它需要永远,而且它是什么是非常令人困惑的。请帮忙!

编辑:对不起,我这让人很困惑......让我再说一遍英语(我需要做的就是当他们选择其中一个案例或是他们没有选择它们(默认)它会重新激活开关。人们选择的方式是通过提示。所以我认为我可以做的是切换到变量然后在开关内部使用该变量基本上创建一个无穷无尽的如果他们选择默认,它会再次询问他们。这是一个例子,我将在一分钟内发布

你去!:

    //this is the variable holding the switch
    /*I I I I I*/
    /*V V V V V*/

    var switch1 = {
    var choice = prompt("do you choose EXAMPLE or EXAMPLE").toUpperCase()
    switch(choice) {
        case 'EXAMPLE':
            //this will repeat the whole prompt
            switch1
        break;
        default:
            //this will repeat it too
            switch1
        break; }
    }

那我怎么做这个让java接受这个@ ajaysinghdav10d?

1 个答案:

答案 0 :(得分:0)

JavaScript允许您嵌套切换语句。

看看这个虚拟示例,其中服务返回客户的位置和他选择的产品。基于Choice和Location的组合,调用返回最近商店的坐标的函数;我已经在必要时使用了虚拟值,并在嵌套的switch语句中解释了控制流程:

var choice = "CHO2"; /* call getChoice() function returning values from {CHO1, CHO2, ...}*/
var location = "LOC1"; /*call getLocality() function returning values from {LOC1, LOC2, ...}*/
switch (location) {
    case "LOC1":
        switch (choice) {
            case "CHO1":
                /* redirectToCHO1ofLOC1() is a function returning co-ordinates of the store*/
                alert("redirectToCHO1ofLOC1");
                break;
            case "CHO2":
                alert("redirectToCHO2ofLOC1");
                break;
            default:
                alert("redirectToRegret");
                break;
        }
        break;
    case "LOC2":
        switch (choice) {
            case "CHO1":
                /* redirectToCHO1ofLOC2() is a function returning co-ordinates of the store*/
                alert("redirectToCHO1ofLOC2");
                break;
            case "CHO2":
                alert("redirectToCHO1ofLOC2");
                redirectToCHO2ofLOC2();
                break;
            default:
                alert("redirectToRegret");
                break;
        }
        break;
    default:
        alert("redirectToRegret");
        break;

}

根据新背景更新答案: 你必须使用递归。将您的开关放在一个函数中,并从您的开关的case语句中调用该函数,请看一下:

function recursiveSwitch() {
    var choice = prompt("do you choose EXAMPLE or EXAMPLE").toUpperCase()
    switch (choice) {
        case 'EXAMPLE':
            //this will repeat the whole prompt
            recursiveSwitch();
            break;
        default:
            //this will repeat it too
            recursiveSwitch();
            break;
    }
}

现在只需从你想要的地方调用recursiveSwitch函数,就会启动无限循环。