如果语句返回undefined

时间:2015-02-05 08:05:07

标签: javascript if-statement

我试图让这个功能显示出真实的'或者' false'取决于我的if语句。 该函数应返回boolean' true'如果 '值'大于' rangeStart'并且不到' rangeStop'。除此以外 它应该返回boolean' false'。

var inRange = function(rangeStart3,rangeStop3,value) {
    if (value > rangeStart3&&value < rangeStop3)
    return inRange;
};

ANSWER = inRange(167,521,264)

我得到答案&#34;未定义&#34;并且不确定我做错了什么。 我还要补充一点,我对Javascript很新!

4 个答案:

答案 0 :(得分:2)

没有无用的if

var inRange = function(rangeStart3, rangeStop3, value) {
    return (value > rangeStart3 && value < rangeStop3);
};

现有代码导致undefined的原因是因为当if的条件为假时,代码运行了每个函数末尾存在的隐式return undefined;。 / p>

答案 1 :(得分:0)

如果该值大于rangestart且值小于rangestop,则返回。

if (value > rangeStart3 && value < rangeStop3) return true
else return false

或者你可以用更少的代码编写它。

return (value > rangeStart3 && value < rangeStop3);
应该避免

return inRange。这是一个未定义的变量,除了它也是函数本身的名称。

答案 2 :(得分:0)

如果案件不在

范围内,你还没有添加返回值
var inRange = function(rangeStart3,rangeStop3,value) {
    return (value > rangeStart3 && value < rangeStop3);

};

答案 3 :(得分:0)

更多的书面解释和解释性解决方案:

var inRange = function(rangeStart3,rangeStop3,value) {
    if (value > rangeStart3&&value < rangeStop3) {
                return true;
              }
      else {
              return false;
   }
};