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>
'WEB > Javascript' 카테고리의 다른 글
8. 객체지향- 함수를 사용한 객체생성 예제 (0) | 2013.04.15 |
---|---|
7. 객체지향 (0) | 2013.04.15 |
5. 반복문 ( while, do while, for, for in, 중첩반복문 ) (0) | 2013.04.15 |
4. 조건문( if, switch,삼항연산자,짧은 조건문 ) (0) | 2013.04.15 |
3. 자료형 변환 (0) | 2013.04.15 |