자바스크립트 질문이요!!

자바스크립트 질문이요!!

QA

자바스크립트 질문이요!!

본문

        <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문은 실행되지 않습니다

답변을 작성하시기 전에 로그인 해주세요.
전체 946
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT