功能&如果别的

时间:2014-07-23 19:29:25

标签: javascript function if-statement

我是Javascript的新手,我目前正在使用codecademy进行this question。尝试运行代码时,我不断收到错误:“SyntaxError:Unexpected token”。任何人都可以解释原因吗?

这是我的代码:

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

4 个答案:

答案 0 :(得分:4)

您的代码需要一些重构才能正确执行。在这种情况下,您希望在if语句之外定义函数sleepCheck,并将numHours作为函数的参数:

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

console.log(sleepCheck(10));
console.log(sleepCheck(5));
console.log(sleepCheck(8));

函数应该用大括号{ ... }包装。这就是浏览器的JavaScript解析器如何知道函数的开始位置和结束位置。此步骤至关重要,因为括号将围绕将在调用函数时执行的代码。

DEMO: JSFiddle

要查看实际演示,请使用 F12 键打开浏览器的控制台。消息将出现在那里。如果您还不熟悉控制台或对其感到不舒服,可以将console.log替换为alert。但通常不建议这样做。我只是建议这个,因为你说你是初学者。你应该成为控制台的粉丝,所有这一切都是荣耀。学习使用控制台,因为控制台将成为您满足所有调试需求的生命线。

答案 1 :(得分:1)

您应该编写一个名为sleepCheck的函数,它接受一个名为numHours的参数,而在您的代码中则不会这样做。

做类似的事情:

function sleepCheck(numHours) {
   if (numHours >= 8)
   .
   .
   .
}

答案 2 :(得分:1)

语法不对。您没有正确定义函数声明sleepCheck。函数本身应该包装它的所有内容,任何内容都应该在函数花括号中。你有一个与if语句混合的函数。

应该是

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

另外,记得用返回值做一些事情,除非你捕获返回值,否则简单地调用这个函数不会给你一个结果:

console.log( sleepCheck(8) );

答案 3 :(得分:0)

我认为你正在调用函数错误地尝试,因此希望你工作

 function sleepCheck(numHours) {
        if (numHours >= 8) {
            return "You're getting .....";
        } else {
            return "Get some more .....";
        }
    }

    console.log(sleepCheck(8));....