자바스크립트 질문이요!!
본문
<script>
var a = 10;
var b = 6;
if(a==10 && b==6){
document.write(a+"/"+b+"<br>");
}
else if(a==10){
document.write(a+"<br>");
}
</script>
a=10, b=6일때
if(a==10 && b==6)document.write(a+"/"+b+"<br>");
이것만 실행하고 a==10일때는 실행하면 안돼요;;
a=10만 있을 때는
else if(a==10)document.write(a+"<br>");
이것만 실행하게 할려면 어떻게 짜야할까요?
답변 4
if 이후에 else if를 작성하시면 먼저 만족되는 문장이 실행된 후에 종료되기 때문에 둘 중 한 문장만 실행됩니다.
if(a==10)을 먼저 작성했다면 만족하고 종료되기 때문에 else if(a==10 && b==6)은 실행되지 않습니다.
반대로, if(a==10 && b==6)을 먼저 작성할 경우 b가 6이 아니라면 else if(a==10)로 넘어가서 해당 부분이 실행됩니다.
'a=10만 있을 때'라는 게 b의 값이 없는 상태인지 6이 아닌 상태인지를 의미하는지는 모르겠지만 a는 10으로 고정이고, b만 6인지 아닌지 체크하고 싶으신 거라면
if (a == 10) {
if (b == 6) {
document.write(a + "/" + b + "<br>");
} else {
document.write(a + "<br>");
}
}
필요에 따라 이런 방법으로도 사용할 수 있을 것 같습니다.
!-->적으신 구문은 a==10, b==10 둘다 만족하니 아래 a==10이 실행이안되는겁니다.
a==10 먼저 체크하시면 될듯합니다.
if (a==10) {
document.write(a+"/"+b+"<br>");
} else if (a==10 && b==6) {
document.write(a+"<br>");
}
if(a==10 && b==6){
document.write(a+"/"+b+"<br>");
}
if(a==10){
document.write(a+"<br>");
}
두개로 나누셔야되겠네요
1번 조건이 만족한다면 else문은 실행되지 않습니다
두문장 다 실행하고싶으시면 else if 를 쓰면 안되요.
if 문을 두개로 쪼개셔야합니다.