Dev-dotoli TIL

JS 11-5 function 총정리



function 복습

demo16.html



형식


function의 형식

function 함수명([arg... [arg]]) {
  실행할code;
  return 반환값;
}


정의, 호출

function numbering() {
  document.write(1);
} //정의

numbering();
//호출
//: 1

위와 같은 function의 재사용성을 올려서 n번출력하려면

function numbering() {
  var i = 0;
  while (i < n) {
    document.write(i);
    i++;
  }
}
numbering();
//: n번째 까지 출력됨


반복

n번째 까지 출력되는 위 코드를 n번 반복하고 싶으면

numbering을 n번만큼 반복해서 출력해도 되지만

for문으로 n번 출력하게 만들 수 있음

for (var j = 0; j < 10; j++) numbering();
//이렇게 출력하면 n번 반복되는 function이 10번 반복해서 출력됨

//만약 반복출력할 때 줄바꿈을 넣고싶다면
for (var j = 0; j < 10; j++) {
  numbering();
  document.write("<br>");
} //for문에 줄바꿈 코드를 추가로 넣고 감싸주면 됨


return(출력)

function get_member1() {
  return "dotoli";
  return "123456";
}
//dotoli
//return을 여러번 실행해도 첫 return값에서 함수 종료


argument(입력)

function get_argument(arg) {
  return arg;
}
//(arg) :입력
//arg; :출력
get_artument(1);
//1

argument(인자)를 여러개 받고 싶으면?

function get_argument(arg1, arg2) {
  return arg1 + arg2;
}
get_argument(1, 2);
//3


function의 다른형태(JS)

numbering = function () {
  i = 0;
  while (i < 10) {
    document.write(i);
    i = i + 1;
  }
};
//function의 정의 앞에 numbering이라는 변수에 대입됨

numbering();
//: 0123456789
//numbering이라는변수가 함수를 갖게 됨

익명함수 (1회성 호출)

(function () {
  i = 0;
  while (i < 10) {
    document.write(i);
    i = i + 1;
  }
})();
// 함수명은 없으나
// '();'이렇게 정의된 '변수 호출 부분'으로
// 바로 정의된 함수를 바로호출해버림