簡體   English   中英

為什么不會“||” (或)在我的 javascript function 中工作?

[英]why wont “||” (or) work in my javascript function?

我正在嘗試編寫代碼,以便如果給定 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")) {

您應該在 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));

我修改了你的代碼,最后一個比較符號(==)是錯誤的,它是一個賦值符號(=),你正在比較日和月兩次,現在你的代碼可以正常工作了!

 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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM