我在摆弄尝试创建一个循环直到给出匹配答案的函数,还有更好的方法吗?我意识到我正在污染全局名称空间设置“ loopBoolean = false / true”!

function userPrompt() {
    var loopBoolean = true;
    while(loopBoolean){
        var userChoice = prompt("type something").toLowerCase();
        if(userChoice === "gogo"){
            alert("good answer!");
            loopBoolean = false;
        }
        else{
            loopBoolean = true;
        }
    }
}
userPrompt();

最佳答案

您不会通过声明变量var loopBoolean插入您的函数来污染全局名称空间。

问题是如果您不使用var关键字。

更好的重写方法是:

 while(prompt("type something").toLowerCase() != "gogo"){
   // do sth if you need
 }
 alert("good answer!");

07-24 18:09