我是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);
答案 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));....