Codecademy中的逻辑运算符练习:撞墙

时间:2013-11-27 12:53:57

标签: javascript logical-operators

以下代码中缺少什么?

我一直在尝试各种各样的变化,并且我正在尝试不合逻辑的修改,仅仅因为缺乏更好的想法。问题出在函数语法中吗?我最了解变量是全局变量,两者都应该读为TRUE。根据我如何构造函数,我可以读取TRUE和FALSE,或者读取false,但是,如果我正确理解逻辑运算符语法,只有一个结果应该输出为true - 当两个变量都为真时。因此,当我将它们设置为true时,我有点神秘,为什么读数变得错误。![在此输入图像描述] [1]

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

var eat = function() 
{
if (hungry&&foodHere) 
{
      console.log ("True.");
}
else
{
      console.log("False.");
  }
};

//错误信息显示:当饥饿为假时,您的函数看起来不会返回false。

我会发布图片,但显然我的声誉不足。

1 个答案:

答案 0 :(得分:2)

CodeAcademy希望您返回一个布尔值,而您只是将“True”或“False”字符串记录到控制台。将其更改为:

var eat = function(){
   return (hungry && foodHere);
}

或在你的情况下:

var eat = function() 
{
    if (hungry&&foodHere) 
    {
          return true;
    }
    else
    {
          return false;
    }
};

请参阅this JSFiddle example