执行方法后再次循环程序

时间:2012-01-21 17:16:21

标签: javascript

我想这是一个非常简单的问题,但我无法让它发挥作用!我希望我的菜单应该在我运行方法之后再次出现。提前谢谢。

function menu () {
    var choice = prompt("0. Exit \n\n1. Fahrenheit to Celsius \n2. Celsius to Fahrenheit \n3. Guess a number");
    choice = parseInt(choice);

    if (choice > 4 || choice < 0) {
        alert("FEL!!");
    } else if (isNaN(choice)) {
        alert("Måste vara en siffra");
    }
    switch (choice) {
        case 0:
           choice = false;
            break;
        case 1:
            CelsiusToFarenheit();
            break;
        case 2:
            FahrenheitToCelsius();
            break;
        case 3:
            Guess();
            break;
    }
    return choice;
}

do {
    menu();
} while(choice == true);

2 个答案:

答案 0 :(得分:2)

您忘记存储menu()函数返回的变量:

function menu () {
    var choice = prompt("0. Exit \n\n1. Fahrenheit to Celsius \n2. Celsius to Fahrenheit \n3. Guess a number");
    choice = parseInt(choice);

    if (choice > 4 || choice < 0) {
        alert("FEL!!");
    } else if (isNaN(choice)) {
        alert("Måste vara en siffra");
    }
    switch (choice) {
        case 0:
           choice = false;
            break;
        case 1:
            CelsiusToFarenheit();
            break;
        case 2:
            FahrenheitToCelsius();
            break;
        case 3:
            Guess();
            break;
    }
    return choice;
}

var choice;
do {
    choice = menu();
} while(choice == true);

答案 1 :(得分:0)

您正在调用Menu()并在执行后完成。因此,您需要再次运行Menu()。