【问题标题】:Javascript if statement cancels while loop?Javascript if语句取消while循环?
【发布时间】:2017-02-10 16:11:57
【问题描述】:


我目前正在编写一些代码,我试图在其中编写一个非常弱的 KI。我已经通过带有提示和 if 语句的无限循环来完成此操作。 但是在第一个 if 语句之后,我不能再添加 ifs 了,循环将不再起作用。我尝试了很多东西,但似乎没有任何效果。我希望你能帮助我...

var b = 1;
var antwort;
do {
  input = prompt(antwort);

  var eingabe = input.toLowerCase();

  var x = Math.round(Math.random() * (6 - 1)) + 1;

  if (eingabe === "hallo" || eingabe === "hi") {
    switch (x) {

      case 1:
        {
          antwort = "Hallo!";
          break;
        }

      case 2:
        {
          antwort = "Na, wie geht es dir?";
          break;
        }

      case 3:
        {
          antwort = "Guten Tag!";
          break;
        }

      case 4:
        {
          antwort = "Hi.";
          break;
        }

      case 5:
        {
          antwort = eingabe + ".";
          break;
        }
    }
  } else if (eingabe.includes("gut") === True) {
    antwort = "Das ist schön"
  } else {
    antwort = "Das habe ich nicht verstanden."
  }
} while (1 === 1);

提前谢谢你

【问题讨论】:

  • “不能再工作了”?
  • 我不清楚你在问什么

标签: javascript loops if-statement do-while cancellation


【解决方案1】:

你需要用全部小写的布尔文字:

(eingabe.includes("gut")===True) 应该是(eingabe.includes("gut")===true)

编辑

您更喜欢(我知道我喜欢),您实际上可以省略 === true 部分。 .includes 无论如何都会返回一个布尔值:

if (eingabe.includes("gut")) {
  //...
}

做同样的事情。

【讨论】:

    【解决方案2】:

    在这个if

    if( eingabe.includes("gut") === True ) {
        // ...
    

    True 将被视为变量名。因为javascript关键字都是小写的,而且javascript是一种区分大小写的语言。这意味着如果关键字包含大写字母,则它不再是关键字而是变量名。所以这会很好:

    var whiLe = 5;
    
    console.log(whiLe); // work fine

    但这不会:

    var while = 5;
    
    console.log(while); // error

    这里是javascript中所有reserved keywords的链接。

    注意: inludes 已经返回一个布尔值,因此无需将其与 true 进行比较,这样就足够了:

    if( eingabe.includes("gut") ) {
        // ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-19
      • 2013-06-09
      • 2014-01-21
      • 2015-11-08
      • 2016-01-12
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      相关资源
      最近更新 更多