[JS/Node] 기초 - 반복문

LEE JI YOUNG·2021년 8월 26일
0

JS/Node

목록 보기
3/23

반복문

:단순한 반복을 보다 효율적이고 간결하게 할 수 있도록 함. 코드에서 반복문이 없다면, 우리는 수백만 개의 정보를 처리하기 위해서 수백만 줄의 코드를 작성해야 함.

  • 같거나 비슷한 코드를 여러번 실행시켜야 할 경우에 쓰는 구문
  • 단순한 기능을 반복 수행

let sum = 1;
sum = sum + 2;
sum = sum + 3;
sum = sum + 4;

console.log(sum)

------> 반복되는 요소

1. 반복할 내용 : sum과 숫자 합을 sum에 대입 : sum = sum + n;
2. 초기화 : n은 2부터 시작 :let n = 2;
3. 조건식 : n은 4가 될때 까지 : n <= 4;
4. 증감문 : n은 1씩 증가 : n = n + 1;

for문

for( 초기화 ; 조건식 ; 증감문 ){ 반복할 내용 }

  let sum=1;
  for(let n=2; n<=4; n=n+1;){
    sum=sum+n;
  } //5

while문

초기화 while( 조건식 ){ 반복할 내용; 증감문 }

  let sum=1;
  let n=2;
  while(n<=4){
    sum=sum+n;
    n=n+1;
  } //5
  let sum=1;
  let n=2;
  while(n<=4){
    n=n+1;
    sum=sum+n;
  } //13
  • 모든 for문과 while문은 서로 바꿔 쓸 수 있다. `

for문과 while문의 차이

내용참조1
내용참조2
내용참조3

  • for 문 : 반복 횟수가 예측 가능할 때

  • while 문: 반복 횟수를 예측할 수 없을 때. while문은 초기화, 증감문 필요없을 때 씀.
    로그인 모듈

  • (예제)사용자에게 아이디와 비밀번호를 입력받아서 '로그인' 시키는 모듈만들기.

  1. 횟수제한 - 다섯 번의 기회만 주는 모듈 - ( for문 )
// 로그인 성공 여부를 보관하는 변수
var login = false;

// 최대 다섯 번의 기회를 준다
for (var i = 0; i < 5; i++) {
  // 아이디와 비밀번호를 입력 받는다
  var id = window.prompt("아이디를 입력하세요");
  var password = window.prompt("비밀번호를 입력하세요");

  if (id === 'codeit' && password === '4321') {
    console.log('환영합니다. ' + id + '님.');
    login = true;
    break;
  } else {
    console.log('아이디와 비밀번호가 일치하지 않습니다.');
  }
}
  1. 무제한 - 성공할 때까지 기회를 무제한으로 주는 모듈 - ( while 문 )
// 로그인 성공 여부를 보관하는 변수
var login = false;

// 로그인에 성공할 때까지 반복
while (!login) {
  // 아이디와 비밀번호를 입력 받는다
  var id = window.prompt("아이디를 입력하세요");
  var password = window.prompt("비밀번호를 입력하세요");

  if (id === 'codeit' && password === '4321') {
    console.log('환영합니다. ' + id + '님.');
    login = true;
  } else {
    console.log('아이디와 비밀번호가 일치하지 않습니다.');
  }
}

break문, continue문

  1. break; : if 조건식 만족시 가장 안쪽의 반복문을 빠져나온다.
  2. continue; : if 조건식 만족시 현재 for문을 빠져나와 증감식으로 넘어간다.
  • 예제
console.log('before for loop');
for (var i = 1; i < 11; i += 2) {
  console.log(i);
}
console.log('after for loop');
//결과 : before for loop, 1,3,5,7,9, after for loop  
  • break문
console.log('before for loop');

for (var i = 1; i < 11; i += 2) {
  if (i === 7) {
    break;
  }

  console.log(i);
}

console.log('after for loop');

//결과 : before for loop, 1,3,5, after for loop
// i의 값이 7과 같을 경우 break를 실행하게 된다. break 실행문이 실행되어 for문이 모두 종료되게 되었다.
  • continue문
console.log('before for loop');

for (var i = 1; i < 11; i += 2) {
  if (i === 7) {
    continue;
  }

  console.log(i);
}

console.log('after for loop');

//결과 : before for loop, 1,3,5,9, after for loop
// 7일 경우에는 continue구문이 실행되었기 때문에 7일 경우에만 반복구문을 종료하게 되었다.
  • return문 : 함수자체를 종료

    '

이중 for문 : 시계라고 생각하기.

 for(1){
   for(2){
     break;
   }
 }
 //for(2)만 나온다. 
profile
프론트엔드 개발자

0개의 댓글