1. 익명 함수의 형식


var 함수 = function(){ };


예) 익명의 함수

<script type="text/javascript">

var 함수 = function(){

alert("alert");

}

alert(함수);

</script>





2. 선언적 함수


function 함수(){


}



3. 익명의 함수와 선언적 함수의 차이


<script>

func();

var func = function() {  a.. };

var func = function() {  b.. };

</script>

이경우 오류가 발생한다. 함수 선언전에 호출하기 때문에.


<script>

func();

function func() { a.. };

function func() { b.. };

</script>

이 경우는 오류없이 실행된다. 






4. 가변인자 함수


매개변수의 개수가 변할수 있는 함수.

자바스크립트는 내부에 자동으로 변수 arguments 를 갖는다.


예)

<script>

function sumAll(){

alert( typeof(arguments) + ":" + arguments.length );

}


sumAll(1,2,3,4,5,6);

</script>





예) 합을 구하기.

<script type="text/javascript">

function sumAll(){

var sum = 0;

for( var i in arguments ){

sum+=arguments[i];

}

alert( "합:" + sum );

}


sumAll(1,2,3,4,5,6);

</script>





예) 매개변수 수에 따라 분기하여 로직 처리.

<script>

function funA(){

var len = arguments.length;


if( len == 0 ){


}else if ( len == 1 ) {


}...

}

</script>



5. 함수를 매개변수로 받는 함수


예) 익명의 함수를 매개변수로

<script type="text/javascript">

function callFunc(func){

for(var i=0;i<5;i++){

func();

}

}


callFunc(function(){

alert("call!");

});

</script>


alert창 5번 호출.


예) 선언적함수를 매개변수로

<script type="text/javascript">

function callFunc(func){

for(var i=0;i<5;i++){

func();

}

}

function procFunc(){

alert("call!!");

}

callFunc(procFunc);

</script>




6. 함수를 리턴하는 함수

예)

<script type="text/javascript">

function outerFunc(name){

var output = "Hello " + name + " !!";

return function(){

return output;

};

}

var first = outerFunc("JavaScript");

var second = outerFunc("JQuery");

alert( first() );

alert( second() );

</script>







+ Recent posts