javascript 비교연산자에 오류(?)에 관해서 (>=,<= ,&&,||)
조회수 495회
var a = localStorage.getItem("imonth");
var b = localStorage.getItem("iday");
var re = "";
re += a+"월";
re += b+"일";
if (re >= "1월20일" && re <= "2월18일") {
document.write("물병자리")
}
else if (re >= "2월19일" && re <= "3월20일") {
document.write("물고기자리")
}
else if (re >= "3월21일" && re <= "4월19일") {
document.write("양자리")
}
else if (re >= "4월20일" && re <= "5월20일") {
document.write("황소자리")
}
else if (re >= "5월21일" && re <= "6월21일") {
document.write("쌍둥이자리")
}
else if (re >= "6월22일" && re <= "7월22일") {
document.write("게자리")
}
else if (re >= "7월23일" && re <= "8월22일") {
document.write("사자자리")
}
else if (re >= "8월23일" && re <= "9월23일") {
document.write("처녀자리")
}
else if (re >= "9월24일" && re <= "10월22일") {
document.write("천청자리")
}
else if (re >= "10월23일" && re <= "11월22일") {
document.write("전갈자리")
}
else if (re >= "11월23일" && re <= "12월24일") {
document.write("물병자리")
}
else if (re >= "12월25일" || re <= "1월19일") {
document.write("염소자리")
}
일단 이렇게 코드를 작성하가 a를 10월 b를 12일 했는데 염소자리 라고 나오네요 ㅠㅠ 그래서 else if (re >= "12월25일" || re <= "1월19일")를 else if (re >= "12월25일" && re <= "1월19일") 이렇게 했는데 이번에는 아예 아무것도 안나와요 ㅠㅠ 그 외에도 더 많은 버그가 있습니다
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
문자열끼리 비교가 되기는 하는데 여기서 그거 쓰시면 안될 겁니다.
var n = "1월20일" >= "1월3일"; // 가나다순 정렬을 하면 1월3일 이 더 뒤에 나오게됨 console.log(n); // 그래서 false 나옴
저라면, 1월 20일은 20번째 날이고 12월 31일은 365번째 날이라는 뭐 그런 개념으로 접근하겠습니다. 그건 틀릴 일이 없겠지요.
댓글 입력