Dev-dotoli TIL

JS 11-2 반복



function

demo13.html

function의 효용


전시간에 0-9까지 출력하는 ‘application’을 만들었는데
이것을 n번 출력하려면?

  • application : 적용, 응용 된 프로그램
    여기서는 작동하는 코드를 의미하는 듯
var i = 0;
while (i < 10) {
  document.write(i);
  i += 1;
}
//해당 코드를 n번 반복해야함


이럴 때 함수를 사용하면 코드를 줄일 수 있음

function numbering() {
  var i = 0;
  while (i < n) {
    document.write(i);
    i += 1;
  }
}

numbering();
//n번 호출

결과는 같지만 logic은 한번만 등장함


n번 호출할때 반복문을 쓰는 것도 가능함

for (var i = 0; i < n; i++) {
  numbering();
}



물론 함수를 정의하지않고 반복문 안에 반복문을 넣어도 결과는 같음

for (var i = 0; i < n; i++) {
     var i = 0;
     while (i < n) {
         document.write(i);
         i += 1;
}
  • 실행하면 break가 없어서 작동멈춤?
    break를 넣고 싶은데 if 문을 어디에 넣어야할지 찾아볼 것



function을 잘 사용한다면

  • 코드의 재사용성

    동일한 코드를 여러곳에서 사용 할 수 있는 형태(좋은 부품)

    이 코드의 내용을 수정, 변경, 개선, 문제해결을하면
    이 코드를 사용하는 모든 곳에 다 반영할 수 있음
    = 유지, 보수가 용이해짐(maintenance)

    • maintenance: 유지,보수
      손을 의미하는 man,main(manual:수동,사용법)
      움켜쥐다를 의미하는 tain
      main+tain: 유지하다 (손에 움켜쥐다), 보수하다 + 접미사(ance)



  • 코드의 가독성이 좋아질 수 있음
    복잡한 로직이 여기저기 흩어져 있으면 코드의 가독성이 떨어짐
    협업할 때도 복잡한 로직을 그냥 가져다 쓸 수 있음