# 함수, 일련의 코드 묶음!
## 미션
함수의 개념과 그 사용법을 익히시오.
<img src="http://drive.google.com/uc?export=view&id=1hfz-Tv6os1bgGNavSWDvBacukh8VLxD3" alt="홍팍-자바스크립트-함수-미션">
## 00:34 함수란?
- 일련의 코드 묶음
- 여러 줄의 코드를 간편히 호출하게 함
- 일반적으로 입력에 따른 결과를 반환(like 자판기)
## 01:13 함수 호출(사용하기)
- 소괄호 사이에 값을 입력하여, 그 결과를 반환 받는 방식으로 사용.
```
// Math.max() 함수 - 가장 큰 값 찾기
const bigger = Math.max(13, 53, 12); // bigger = 53;
// Math.min() 함수 - 가장 작은 값 찾기
const smaller = Math.min(13, 53, 12); // smaller = 12;
```
- 프로그래밍을 위해 제공되는 코드를 API라 함.
- API 함수 예: console.log(), alert(), Math.max(), Math.min() ..
## 02:13 함수 선언(만들기)
- 함수를 사용하려면, 해당 함수가 API로 제공돼야 함.
- 따라서, 구글링을 통해 API가 있는지 조사하면 좋음
- 제공되지 않는 경우, 직접 만들어 써야 함.
- 함수를 만들려면, 그 구조를 알아야 함.
```
function NAME(PARAMETERS) {
..
return VALUE;
}
```
- 함수명(NAME): 함수를 대표하는 이름
- 파라미터(PARAMETERS): 입력된 값을 저장하는 변수로, 함수 사용 시에 전달된 소괄호 값을 받아옴
- 반환값(RETUAN VALUE): 함수 종료와 함께 반환될 결과값
- 피자 N조각 칼로리 계산 함수 예
```
function calcPizzaKcal(n) {
const onePieceKcal = 320; // 피자 한 조각의 칼로리
return onePieceKcal * n; // 반환값: 피자 한 조각의 칼로리 x n조각
}
```
## 03:56 함수의 실행 흐름 분석
- 다음 코드의 실행 흐름을 설명해보자
```
// 피자 N조각의 칼로리 계산
const result1 = calcPizzaKcal(2); // 🍕🍕 kcal => 640
const result2 = calcPizzaKcal(3); // 🍕🍕🍕 kcal => 960
const result3 = calcPizzaKcal(5); // 🍕🍕🍕🍕🍕 kcal => 1600
```
## 구글링 훈련하기 🔥
- 자바스크립트 함수란
- 자바스크립트 함수 호출
- 자바스크립트 함수 선언
- 자바스크립트 파라미터
- 자바스크립트 함수 반환값
- 자바스크립트 return 키워드