javascript / codecademy - if语句在评估true之前运行两次为false?

时间:2014-08-27 23:44:28

标签: javascript if-statement logic

所以我很新,我正在学习关于Codecademy的进修课程。我的逻辑在这里有问题吗?

// Declare your variables here!
var hungry = true;
var foodHere = true;

var eat = function() {
  // Add your if/else statement here!
  if(hungry && foodHere){
      console.log("problem solved!");
      return true;
  }
  else {
      console.log("why are you even here?");
      return false;
  }
}

没有参数摄入的函数检查两个真实的语句,这些语句是全局的并且是预定义的。当我保存&运行此脚本,输出

why are you even here?
why are you even here?
problem solved!

其中告诉我,它评估错误两次(虽然它不应该),保持运行,最后评估为真,让我继续前进。其次,如果我将其中一个或两个变量设置为false,则输出......没有。没有评估,没有输出。

这里是否有问题,我只是没有看到,或Codecademy控制台出现故障?我认为查看陈述的速度很慢?在我继续前进之前,我宁愿弄清楚这一点。

1 个答案:

答案 0 :(得分:0)

从列出的代码记录方向here

  

创建两个变量hungryfoodHere,并将它们设置为等于true。在eat函数内,创建if语句,仅当truehungry都为真时才返回foodHere,否则为false。函数eat不应该输入,hungryfoodHere都应该是全局变量。

基本上,codecademy使用了您的代码段并运行了eat()几次,更改了hungryfoodHere的值,以确保eat()返回了适当的值指示中指定的条件。

你没有做错任何事。你的代码工作正常。