我知道可以通过多种方法来完成此挑战,并且我可以通过一种不同的方法来满足要求,但是我正努力了解我的代码有什么问题。
任何帮助将不胜感激。
var count = 0;
function cc(card) {
// Only change code below this line
if (card < 7){
count++;
} else if (card < 10){
count+=0;
} else (count--;)
if (count > 0){
return count + " Bet";
} else (
return count + " Hold";
)
// Only change code above this line
}
// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');
答案 0 :(得分:1)
首先,当您尝试执行代码时,应该看到一个语法错误,指向(count--;)
中的分号。这样做的原因是:else
需要一个语句,如果看到一个括号,则表示该语句是一个表达式,并且在表达式中,分号不能出现在括号内(这是相当简化的)。编写它的正确方法是不带括号(通常不赞成使用else count--;
)或带花括号:else { count--; }
。
修复该错误后,还会出现另一种错误,因为您似乎系统地在else
之后使用括号而不是花括号。
之后,您的代码就可以工作了。 card
的可疑比较可能是字母或数字与整数的比较,但是它恰好可以按您希望的方式工作(因为'K'
,'Q'
和{{1 }}的评估结果大于'J'
和7
。)最好不要依赖这种魔术,并在字母和值之间建立一个转换表,或者至少在以下情况下:重新依赖魔术,发表评论,以使读者知道您知道魔术。另外,10
是一个空语句,它什么也不做,可能被忽略了。这会给您留下一个空的count+=0
,但这不是错误。但是,如果您使用else if
,它可能会更具可读性。
答案 1 :(得分:0)
愚蠢的错误。
答案如下:
viewport