프로그래밍/자바스크립트

자바스크립트 함수에 대해 정리해 보자

오치리일상 2017. 3. 9.

함수란?

코드의 집합체로서 같은 코드가 반복되는 부분이 있으면 그 부분만 따로 떼어네어 함수로 정의한다.

이를 재활용 함으로써 

1. 긴 코드를 짧게 줄일 수 있고, 

2. 함수만 수정하면 함수를 호출한 여러군데의 코드를 동시에 수정할 수 있다.

3. 함수는 가독성을 높어주며,

4, 코드를 재사용 함으로써 코딩 시간을 단축 시켜준다.

5. 자바스크립트에서 함수는 일급객체(first-class)이다

 

 * 함수 정의

함수 정의시 1. 실행코드 , 2, 리턴값, 3, 매개변수 의 조합으로 이루어져 있다.

리턴값은 한개만 정의할 수 있다.

매개변수는 필요에 따라 갯수 상관없이 정의 할 수 있다.

 

 

	 1.	실행 코드만 정의 	  	 function 함수명 (){  		// 실행 코드  	 } 	 	 2. 실행코드, 리턴값 정의 	  	 function 함수명 (){ 		 		// 실행 코드 		 		return 리턴값; 	 } 	  	 3.	실행코드,매개변수 정의 	  	 function 함수명 (매개변수,,,){ 		 		// 실행 코드  	 } 	 	 4. 실행코드, 리턴값, 매개변수 정의 	  	 function 함수명 (매개변수,,,){ 		 		// 실행 코드  		return 리턴값; 	 } 

 

* 함수 선언 방법 3가지

1. 선언적 함수

2. 익명 함수

3. 함수 생성자를 이용한 함수

 

 

	// 1. 선언적 함수 와 재정의 > 함수를 선언한다. 	function funcA (){ document.write('funcA
'); }  	funcA();  	// 2. 익명 함수 와 재정의 > 변수에 함수를 대입한다 	var funcB = function (){ document.write('funcC
'); }  	funcB();  	// 3. 선언적 함수와 익명 함수가 동시에 정의되어 있을땐 절차적 순서에 상관없이 	// 1. 선언적 함수 2. 익명 함수 순으로 정의된다  	var funcC = function (){ document.write("Ex3-1
") }	// 익명 함수 정의가 나중에 정의 	function funcC (){ document.write('Ex3-2
'); }			// 선언적 함수 정의가 먼저 정의 	 funcC ();  	 // 함수 생성자를 이용한 선언  	 var funcD = new Function('param','document.write("Ex4
")'); 	 funcD(); 	 

 

* 매개변수

함수 호출시 함수 실행 코드로 전달하는 값이다.

자료형이나 갯수에는 상관이 없다.

 

	// 매개변수1과 매개변수2를 받는다 	function funcParam (param1, param2){ 		document.write("매개변수1: " + param1 + " / 매개변수2: " + param2 + "
"); 	}  	funcParam(10, "대한민국");	// 매개변수1에 10을 매개변수2에 '대한민국'을 전달한다 

* 리턴값

함수 실행 코드를 모두 실행하고 함수 종료시 함수 호출한 곳으로 결과값을 반환하는 값이다.

자료형은 상관이 없다. 

갯수는 함수 종료시 하나만 반환할 수 있다.

(리턴값이 없이 return; 을 하면 함수 호출한 곳으로 돌아간다.)

 

	function funcReturn(){ 		var a = 1 + 2; 		return a;	 // a를 리턴한다 	}  	var result = funcReturn(); // 함수에서 리턴된  리턴값을 변수 result 에 대입한다  	document.write('리턴값: ' + result); // 리턴값을 확인한다. 

* 내부함수

함수 안에 함수를 정의하는것을 말한다.

내부함수는 함수 외부에서는 사용하지 못한다.

함수 외부에 동일 함수명의 다른 함수가 있어도 함수 내에서는 내부함수가 우선 호출된다.

 

	function a (){  		// 내부함수 선언 		function b (){ 			// 실행 코드		 		}	 		// 실행 코드 		 	}  

 

* 자기 호출 함수

함수 선언 후 다른 곳에서 사용못하게 함수를 생성하자마자 호출하는 함수

 

 	(function () { 		// 실행 코드 	}) (); 

 

* 콜백 함수

자바스크립트에서는 함수도 자료형에 속한다.

함수 매개변수로 함수를 전달하는 것을 콜백함수하고 한다.

 

 

	var callback = function (){ 		document.write("this is callback
"); 	}  	function FuncA (callbackFunc) { 		callbackFunc(); 	}  	FuncA(callback); 	 

 

 

 

댓글

💲 추천 글