【问题标题】:my while loop dosent stop even tho i have a stoping operator即使我有一个停止运算符,我的 while 循环也不会停止
【发布时间】:2023-01-07 20:28:47
【问题描述】:

似乎 while 循环上的“检查”变量没有改变,所以循环永远持续下去 它一直在循环中做同样的事情而不是突破

var obj = {
}
var runing = "yes";
while(runing=="yes"){
    obj[prompt("what is your property?")] = prompt("what is your value");
    runing =prompt("do you want to countinue?");
}

function check(prop){
    if(obj.hasOwnProperty(prop)){
        return obj[prop]
    }else{
        return "wasnt found"
    }
}

var checking = prompt("do you want to check a property?");
var property = prompt("what do you want to check?")
while(checking=="yes"){
    console.log(check(property))
    checking = prompt("do you want to check another property?");
    if(checking ="yes"){
        property = prompt("what do you want to check?")
    }
     
}

我希望它在我给出“是但没有”以外的输入时停止。 它应该询问属性和值,直到你说不,并询问你是否要检查属性的任何值,并询问你是否想再做一次,直到你说不。但即使我输入了 yes 以外的东西进入“你想检查另一个属性吗?”提示它继续前进。

【问题讨论】:

  • if(checking ="yes") 你应该在这里有2个等号来做比较。 if(checking =="yes")
  • 哦,谢谢。我没看到

标签: javascript


【解决方案1】:

我认为这可能有效,问题似乎是变量的值没有被更新,我做了一个调整,希望它对你有用。

var runing = "yes";
while(runing=="yes"){
    obj[prompt("what is your property?")] = prompt("what is your value");
    runing =prompt("do you want to countinue?");
}

function check(prop){
    if(obj.hasOwnProperty(prop)){
        return obj[prop]
    }else{
        return "wasnt found"
    }
}

var checking = prompt("do you want to check a property?");
var property = prompt("what do you want to check?")
do {
  console.log(check(property))
  checking = prompt("do you want to check another property?");
  if(checking == "yes"){
      property = prompt("what do you want to check?")
  }
} while (checking == "yes");

【讨论】:

    猜你喜欢
    • 2016-03-14
    • 2023-03-25
    • 1970-01-01
    • 2020-04-15
    • 2015-12-30
    • 2021-08-18
    • 2016-01-19
    • 1970-01-01
    • 2021-02-02
    相关资源
    最近更新 更多