我正在尝试学习Javascript,我试图找出的一个问题是一个函数。我对我认为的其他声明有疑问,但我不确定它有什么问题。我收到一个意外的令牌语法错误{...我知道这意味着什么。如果我将(numHours < 8)
移到其他地方{{},那个错误会消失,但之后就不会运行了。我的其他条件错了吗?
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);
答案 0 :(得分:6)
您错过了另一个if
变化:
else (numHours < 8) {
到
else if (numHours < 8) {
但是,您根本不需要第二个条件,因为numHours
NOT 大于或等于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
答案 1 :(得分:2)
否则你可以简单地删除(numHours&lt; 8)并具有类似的东西:
if (numHours >= 8) {
return "You're getting plenty of sleep! Maybe even too much!";
}
else {
return "Get some more shut eye!";
}
只有在不符合if条件的情况下才会输入。如果您只想要两种不同的行为,这取决于值,这是实现这一目标的最佳方式,否则您可以使用其他方式:
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";
}
希望很明显:)