본문 바로가기
JavaScript

[생활코딩] javascript - 함수

by Hello Do. 2016. 5. 21.

본 강의 학습은 [생활코딩]를 통하여 학습하고 있습니다.


JavaScript - 함수 (1/5) : 함수란?


함수(function)란 하나의 로직을 재실행 할 수 있도록 하는 것으로 코드의 재사용성을 높여준다.


// 설명

function 함수명( [인자...[,인자]] ){

   코드

   return 반환값

}


// 예

function numbering(){

    i = 0;

    while(i < 10){

        document.write(i);

        i += 1;

    }   

}

numbering(); // 함수 호출


결과 : 0123456789



JavaScript - 함수 (2/5) : 함수의 효용, 부제 : 함수가 없다면?


문제 : 함수 없이 0부터 9까지를 1000번 출력해야 한다면?

var i = 0;

while(i < 10){

    document.write(i);

    i += 1;

}

이 코드를 1000번 사용 해야 한다. 


하지만 함수를 사용 한다면,

function numbering(){

    var i = 0;

    while(i < 10){

        document.write(i);

        i += 1;

    }   

}

 

numbering();

numbering();

numbering();

numbering();

numbering();


JavaScript - 함수 (3/5) : 입력

함수의 핵심은 입력과 출력이다. 

입력된 값을 연산해서 출력하는 것이 함수의 기본적인 역할이다. 

다음은 함수에서 입력과 출력의 역할을 하는 구문들에 대한 설명이다.


return : 함수 내에서 사용한 return은 return 뒤에 따라오는 값을 함수의 결과로 반환


function get_member1(){

    return 'egoing';

}

 

function get_member2(){

    return 'k8805';

}

 

alert(get_member1()); // egoing 출력

alert(get_member2()); // k8805 출력


return은 결과를 반환하는 것 외에 함수를 중지시키는 역할도 한다.

function get_member(){

    return 'egoing';

    return 'k8805';

    return 'sorialgi';

}

alert(get_member());

egoing 출력 하고 그 뒤는 출력 되지 않는다.


JavaScript - 함수 (4/5) : 출력

function get_arguments(arg1, arg2){

    return arg1 + arg2

}

 

alert(get_arguments(10, 20)); // 10 + 20 > 30이 출력

alert(get_arguments(20, 30)); // 20 + 30 > 50이 출력


JavaScript - 함수 (5/5) : 다양한 정의 방법


var numbering = function (){

    i = 0;

    while(i < 10){

        document.write(i);

        i += 1;

    }   

}

numbering();


:: 함수 부분이 numbering 변수에 대입 된것이다. numbering 변수가 뒤에 함수를 갖게 된것이다.


- 익명 함수 : 이름이 없고 바로 실행 된다. 1회성 호출

(function (){

    i = 0;

    while(i < 10){

        document.write(i);

        i += 1;

    }   

})();


※함수는 코드의 재활용성을 높여 준다.

'JavaScript' 카테고리의 다른 글

[생활코딩] javascript - 객체  (0) 2016.05.25
[생활코딩] javascript - 배열  (0) 2016.05.22
[생활코딩] javascript - 반복문  (0) 2016.05.19
[생활코딩] javascript - 조건문  (0) 2016.05.19
[생활코딩] javascript - 비교  (0) 2016.05.18