함수

SeungMin·2022년 6월 7일
0

함수를 만드는 방법


  function numbering(a) {                       // 키워드(function) + 함수이름,인수
               document.write(a);              // 함수 내용
            }
  numbering();                                 // 함수 호출 a

함수를 만드는 키워드는 function 이다.
이후 함수이름을 지정하고 중괄호 안에 기입한 코드가
함수를 호출했을때 실행된다.
함수 이름옆의 소괄호에는 함수의 인수를 기입하게 되는데,
함수를 호출할 때 a값을 받아서 함수 내에 기입된 코드를 동작하는데 사용한다.
이후 계산된 출력값을 반환한다.

          numbering = function(){          // 함수 이름이 먼저 정의되는 방법.
               i=0;
               while(i<10){
                   document.write(i);
                   i++;
               }
           }                            

함수이름 = function() 의 형태도 가능하다.

(function(){                              // 익명함수
               i=0;
               while(i<10){
                   document.write(i);
                   i++;
               }
           })();

함수를 정의하고 해당 함수를 통째로 소괄호로 묶은 후,
바로 호출하는 함수의 형태이다
함수에 이름을 붙히고 저장해 놓은 형태가 아니기에 1회성이다.
다시말해 한 번만 사용하는 함수이다.
함수가 사용되는 도중을 제외하고는 메모리를 차지하지 않기때문에
메모리 관리에서도 효과적이다.


함수의 재사용성


for(i = 0; i <10 ; i++){
              document.write(i);}
for(i = 0; i <10 ; i++){
              document.write(i);}
for(i = 0; i <10 ; i++){
              document.write(i);}
for(i = 0; i <10 ; i++){
              document.write(i);}
for(i = 0; i <10 ; i++){
              document.write(i);}

해당 코드는 동일한 코드의 반복문이 5번 쓰여있다.
반복문의 조건 또는 실행내용을 바꿔야 한다면 코드 수정작업을 5번 해야한다.
만약 코드가 1000번 사용됐다면 1000번의 수정작업을 거쳐야한다.

function numbering(){
  for(i = 0; i <10 ; i++){
              document.write(i);
  }
}
numbering();
numbering();
numbering();
numbering();
numbering();

해당 코드는 이전 코드와 실행 결과값은 동일하다.
하지만 반복문의 조건 또는 실행내용을 수정해야 할 경우
함수 내용을 한번만 수정해주면 이후에 실행될 함수의 결과값이 모두 수정되는 셈이다.
함수를 1000번 호출하는 경우라면 1000번 수정할 일을 1번만에 끝마치게 되는 것이다.


return 의 사용


  function SayHello() {                     
               return document.write('Hello World!')
               return document.write('GoodBye World!');
               return document.write('Beautiful World!');
            }
  SayHello();    // Hello World!         

return뒤에 오는 내용을 출력값으로 반환하고 함수를 강제종료하는 기능을 가진다.
해당 코드의 출력값은 Hello World! 이며, 첫 return 코드 실행 이후에
함수는 강제 종료되었기 때문에 이후에 오는 리턴코드는 동작하지 않는다.

profile
공부기록

0개의 댓글