2015-11-04 79 views
1

我正在尝试学习Javascript,而我试图弄清楚的一个问题是函数。我对我认为的else语句有问题,但我不确定它有什么问题。我得到了一个意外的令牌语法错误{...我知道这意味着什么。如果我将(numHours < 8)移到else的{,那个错误消失,但是不会运行。我的其他情况做错了吗?其他条件问题

var sleepCheck = function (numHours) { 
    if (numHours => 8) { 
     return "You're getting plenty of sleep! Maybe even too much!"; 
    }  
    else (numHours < 8) { 
     return "Get some more shut eye!"; 
    } 
} 
sleepCheck(10); 
sleepCheck(5); 
sleepCheck(8); 
+1

'nunHours =>'应该可能是'numHours> ='。值得注意的是,由于'> = 8'和'<8'是互斥的,所以一个简单的“if..else”就可以了,根本不需要第二个if。 –

+0

感谢您的建议! – Becky

+0

=>不是> =。投票结束。 “这个问题是由于无法再现的问题或简单的印刷错误造成的,虽然类似的问题可能在这里讨论,但这个问题的解决方式不太可能有助于未来的读者。” – GameAlchemist

回答

6

你缺少另一if

变化:

else (numHours < 8) { 

else if (numHours < 8) { 

但是,你并不真正需要的是第二个条件可言,因为如果numHours不是更大t汉或等于8(即第一if条件是false),那么你可以只使用else任何检查numHours小于8,因为它是因为它比8

不大于或等于你的条件只是:

if (numHours => 8) { 
    return "You're getting plenty of sleep! Maybe even too much!"; 
}  
else { // has to be < 8 if not >= 8 
    return "Get some more shut eye!"; 
} 

:你在你的第一个条件拼写错误nunHours

+0

感谢您的好评!我在发帖后发现了'nunhours',错误的是> =号......我试图在网站上学习它,它需要这样做。谢谢! – Becky

+0

没问题,很高兴帮助:) – nem035

2

否则,您可以直接删除(NUMHOURS < 8),并有类似的东西:

if (numHours >= 8) { 
    return "You're getting plenty of sleep! Maybe even too much!"; 
}  
else { 
    return "Get some more shut eye!"; 
} 

只有当它不符合if条件时,才会输入else。如果你想这要取决于价值只有两种不同的行为,这是实现,否则你可以用别的若是喜欢,最好的办法:

if (numHours >= 8) { 
    return "You're getting plenty of sleep! Maybe even too much!"; 
}  
else if (numHours == 7) { 
    return "Get some more shut eye!"; 
} 
else if (numHours == 6) { 
    return "Get some more shut eye!"; 
} 
else { 
return "less than 6"; 
} 

希望它是明确的:)