메뉴 건너뛰기

조회 수 5612 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

▶▷ 알아두면 좋은 것들

반복문(for, for/in, while, do while), break, continue 

관련글

 

 레이블을 이용한 반복문 제어를 이번 글에서 해볼까 합니다.

 

 레이블이 그렇다면 무엇이냐? 맞습니다. 알고있는대로 이름표 정도로 생각해 두시면 좋을 것 같은데요. 

이 레이블로 원하는 위치에 접근을 할 수 있습니다.

 

 레이블을 사용한 예로 들자면 switch 문의 case 와 default 정도가 되겠네요.

여기서도 레이블을 사용해서 조건에 맞게 명령문이 실행됩니다.

 

 보통, 레이블은 반복문에서 쓰입니다. 그것도 break와 continue 문과 같이 쓰이게 되죠.

어떻게 쓰이느냐. 다음과 같이 쓰입니다.

break 레이블명;
continue 레이블명;

 

 기존의 쓰던 방법은 레이블명이 없이 현재의 루프(loop)-가장 근접하고 있는 loop-를 빠져 나가는 방식이라면,

레이블을 이용한 방법은 위치에 관계없이 레이블이 위치한 반복문을 빠져 나간다는 것입니다.

 

 좀 길긴 하지만 다음 소스를 보실게요.

 

<HTML>
<HEAD>
<TITLE>자바스크립트를 활용한 레이블 사용</TITLE>
</HEAD>
<SCRIPT language="javaScript">
 
 var a=new Array();
 
 a[0]=new Array();
  a[0][0]=11;
  a[0][1]=12;
  a[0][2]=13;
  a[0][3]=14;
 a[1]=new Array();
  a[1][0]=21;
  a[1][1]=22;
  a[1][2]=23;
  a[1][3]=24;
 a[2]=new Array();
  a[2][0]=31;
  a[2][1]=32;
  a[2][2]=33;
  a[2][3]=34;
 a[3]=new Array();
  a[3][0]=41;
  a[3][1]=42;
  a[3][2]=43;
  a[3][3]=44;
 
 for(var i = 0; i < a.length; i++){
       for(var j = 0; j< a[i].length; j++){
           document.write(a[i][j] + "<br>");
           if(a[i][j] == 22){
                break;
           }
      }

      if(a[i][j] == 22){
        break;        
      } 

}

</SCRIPT>
<BODY>
</BODY>
</HTML>


 2차 배열을 선언한 후, 배열의 전체를 돎변서 배열의 요소를 화면에 출력하는 소스입니다.

그런데, 배열의 요소중 22라는 값을 만나게 되면, 모든 루프가 종료가 되게 하기 위해서 if 조건문을 명시해놓았는데요.

 

 코드가 더러우나, 쉬운 설명을 위해서 ^^ 이해 부탁드립니다.;

 이때 모든 루프(loop)를 중단하기 위해서 if 조건문에 한번, 그리고 가장 밖의 for문에도 break를 한번 썼습니다.

 

하지만 이 방법 말고도, 레이블을 이용한 방법을 살펴 볼까요?

 outsideFor:
 for(var i = 0; i < a.length; i++){
      insideFor:
      for(var j = 0; j< a[i].length; j++){
           document.write(a[i][j] + "<br>");
           if(a[i][j] == 22){
                break outsideFor;
           }
      }
 }

 

 이렇게 하면!! 깔끔하게 정리가 됩니다. 

 여기서는 'outsideFor'와 'insideFor'라는 두개의 레이블을 사용해서 바깥쪽과 안쪽의 for문에다가 레이블을 달아 놓았습니다.

 배열의 요소가 22인 값을 만나면, 바깥쪽 for문의 레이블로 찾아가, 반복문을 종료시키게 됩니다.

 이러면 위와 같이 더러운..(?) 코드를 작성하지 않아도 되는거죠.

 

[실행결과]

 


  1. 예제 - 자바스크립트로 현재 달의 달력 만들기 (calendar)

    Date2015.06.19 Views10315
    Read More
  2. 마우스 드래그, 오른쪽 팝업메뉴, 선택 막기 (IE11, 파이어폭스, 크롬 확인)

    Date2015.06.19 Views8657
    Read More
  3. Checkbox : 체크박스 체크여부 확인

    Date2015.06.19 Views19107
    Read More
  4. 텍스트박스(input type = "text") 숫자 증가, 감소 시키기 - 쇼핑몰 주문 수량

    Date2015.06.19 Views12403
    Read More
  5. 정규식을 이용한 콤마(comma) 제거하기

    Date2015.06.19 Views6895
    Read More
  6. 정규식을 이용한 실시간 콤마(comma) 넣기

    Date2015.06.19 Views7949
    Read More
  7. 자바스크립트로 네트워크 연결 확인하기 (Navigator onLine Property)

    Date2015.06.19 Views6383
    Read More
  8. location.href 로 새창 여는 방법 (target=_blank 효과)

    Date2015.06.19 Views9589
    Read More
  9. CheckBox 전체 선택 & 해제

    Date2015.04.28 Views5689
    Read More
  10. 선택(CheckBox) 된 Row 삭제 - 화면에서 추가된 Row

    Date2015.04.28 Views13619
    Read More
  11. 선택된 데이터 부모창에 넘기기 (iframe ☞ 부모창)

    Date2015.04.28 Views6697
    Read More
  12. 2단계 트리메뉴 마우스오버(mouseover), 온포커스(onfocus) 구현

    Date2015.04.06 Views8380
    Read More
  13. jquery 메뉴 - 아래로 한번에 전체가 펼처짐

    Date2015.04.06 Views11815
    Read More
  14. 자바스크립트 이벤트 목록입니다. ( javascript event )

    Date2015.04.06 Views5651
    Read More
  15. '레이블', 반복문을 제어하자!

    Date2015.02.03 Views5612
    Read More
  16. 'Array', 배열 및 다차원 배열 선언에 대해 알아보자!

    Date2015.02.03 Views11209
    Read More
  17. 배열의 리터럴 선언, 또다른 배열 선언 방법!

    Date2015.02.03 Views6515
    Read More
  18. '문자 ↔ 숫자', 타입을 바꿔보자!

    Date2015.02.03 Views6314
    Read More
  19. 드롭다운 메뉴를 만들어보자! -1탄

    Date2015.02.03 Views8302
    Read More
  20. 'onmouseover', 마우스 오버 효과 - 글씨 바꾸기!

    Date2015.02.03 Views9545
    Read More
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved