为什么"||"(OR)不能在我的JavaScript函数中工作?



我正在尝试编写代码,以便如果给定 2 个代表我生日的数字(月 = 11,天 = 3(,它将记录"你怎么知道的"。 其他任何东西都会返回"只是另一天"。还需要月份和日期的顺序才无关紧要。

我把它写成:

function birthday (month,day){
let result;
if( month == "11" && day == "3") || (day == "3" && month = "11"){
result = "How did you know?";
}
else {
result = "Just Another Day";
}
return result;
}
console.log(birthday(3, 11));

但它返回并告诉我 ||(或(是一个意外的令牌...我还能怎么写这个?

||运算符的两侧有两个条件,它们说的是完全相同的事情。在第二个条件下,您需要检查日期是否为 11,月份是否为 3。此外,您在最后一次比较中=运算符而不是==

if ((month == "11" && day == "3") || (month == "3" && day == "11")) {

我修改了您的代码,最后一个比较符号 (==( 是错误的,它是一个分配符号(=(,您正在比较日和月两次,现在您的代码工作正常!

function birthday (month, day){
let result = "";
if(( month == "11" && day == "3") || (month == "3" && day == "11")){
result = "How did you know?";
}
else {
result = "Just Another Day";
}
return result;
}
console.log(birthday(3, 11));

您应该在 if 之后添加 "(",并在(day == "3" && month == "11")之后添加"("。还将上次比较的 = 运算符更改为 ==,并将最后一次比较从(day == "3" && month == "11")更改为(month == "3" && day == "11")。将代码更改为此代码:

function birthday (month,day){
let result;
if( (month == "11" && day == "3") || (month == "3" && day == "11")){
result = "How did you know?";
}
else {
result = "Just Another Day";
}
return result;
}

console.log(birthday(3, 11));

最新更新