함수는 코드의 양이 많은 큰 프로그램을 관련 코드끼리 묶어서 분리하는 구조적 프로그램이다.

코드의 분리 없이 통째로 하나의 프로그램으로 만들어 구현한다면 실행상 문제가 발생했을 때 오류를 찾아내기가 매우 어렵다.

함수는 주기적으로 사용하는 코드를 분리해 두었다가 필요할 떄 호출하면 된다. 또한 같은 코드를 반복해서 쓰지 않기 떄문에 용량을 줄일 수 있다

 

 

💗 내장 함수

✨ 내장 함수와 사용자 정의 함수로 나뉜다

✨ 지비스크립트 내장함수

내장 함수 설명
isNaN() NaN은 ‘Not a Number'의 약자이다.
숫자가 아닌 문자가 포함되면 true / 숫자이면 false를 반환한다.
parseInt() 문자를 정수형으로 변환한다.
parseFloat() 문자를 실수형으로 변환한다.
eval() 문자로 된 수식을 JavaScrpt의 수식으로 인식하여 실행시키고 결과를 반환한다.
Number() 문자를 숫자형으로 변환한다.
toString() 숫자를 문자형으로 변환한다.

 

 

💗 사용자 정의 함수 (선언적 함수)

 선언적 함수

선언적 함수는 함수 선언식이라고 한다. function이라는 키워드를 사용해서 함수를 선언하고자 한다.

이 함수를 사용할 경우에는 호출문이 먼저 나와도 에러없이 처리한다.

 

사용자 정의 함수(선언적 함수)

function이라는 키워드를 먼저 쓰고, 뒤에 함수명과 매개변수를 쓴다.

그리고 함수의 정의는 반드시 <head></head>태그 사이에서 이루어져야 한다. 이는 함수가 정의되기 전에 함수가 사용되는 것을 방지하기위해서 이다.

function 함수명([매개변수1, 매개변수2...]) {
     [return] 문장;
}
함수명();     // 함수 호출

→ 매개변수: 함수를 호출할 때 함수에 어떤 정보를 전달하기 위해 사용하는 일종의 변수를 의미한다.

 

 사용자 정의 함수 예제

1) 매개변수가 없는 경우

<script type="text/javascript">
	// 함수의 선언
	function sayHello() {
		document.write("<h1>안녕하세요.</h1>");
		document.write("<h2>자바스크립트</h2>");
	}
	// 함수의 호출 (여러 번 재사용 할 수 있다.)
	sayHello();
	sayHello();
</script>

2) 매개변수가 없는 경우

<script type="text/javascript">
	// 함수의 선언
	function sayHello(msg) {
		document.write("<h1>안녕하세요.</h1>");
		document.write("<h2>" + msg + "</h2>");
	}
	// 함수의 호출 (여러 번 재사용 할 수 있다.)
	sayHello("자바 스크립트");
	sayHello("html5/css3");
</script>

3) 리턴값이 존재하는 경우

<script type="text/javascript">
	function sum(x, y) {
		let z = x + y;
		return z;
	}
	function printResult(x, y) {
		let result = sum(x, y);
		document.write("<h1>" + result + "</h1>");
	}
	printResult(7, 10);
</script>

 

 

익명 함수

익명 함수는 함수 표현식이라고 한다. function형태는 함수이지만 이름이 없기 떄문에 익명 함수라 한다.

익명 함수는 호출문을 함수 선언 이후에 작성해야 에러가 발생하지 않습니다.

let 변수명 = function ([매개변수1, 매개변수2...]) {
	[return] 문장;
} ;
<script type="text/javascript">
	let sum = function(num1, num2) {
		return num1 + num2;
	};
	document.write("두 수의 합 = "+sum(7,5));
</script>

 

'Language > Javascript' 카테고리의 다른 글

1. Javascript 사용자 정의 객체  (0) 2022.05.15
JavaScript - Event  (0) 2022.05.12
JavaScript 제어문 / 반복문  (0) 2022.05.12
JavaScript 기본 문법 (변수,연산자,명령어)  (0) 2022.05.12
JavaScript 개념과 실행 방법  (0) 2022.05.12