본문 바로가기
JavaScript

[JavaScript] 함수

by 스응 2023. 4. 17.
728x90
728x90

함수

  - 자바스크립트에서는 함수 자체가 표현식임

      → 함수를 변수에 할당하거나, 함수의 매개변수로 사용할 수 있음

 

 

함수 정의

#  일반 함수

  - 호이스팅 (Hoisting, 갈고리) 기술 지원

      : 호출문이 함수 정의문보다 먼저 나와도 호출문이 정상 작동함

  - 매개변수가 있는 함수를 매개변수 없이 호출한 경우

      : 매개변수가 포함된 코드에는 Undefined 출력

  - 매개변수를 배열로 받으면 많은 양을 간단하게 처리 가능

 

1
2
3
4
5
6
7
8
9
// 매개변수가 없는 함수
function 함수명() {
    코드;
}
 
// 매개변수가 있는 함수
function 함수명(매개변수1, 매개변수2, ...) {
    코드;
}
cs

 

#  익명 함수

  - 이름이 없는 함수

  - 호이스팅 기술 미지원

      → 호출문이 함수 정의문보다 먼저 나오면 오류가 발생함

  - 앞 호출문에 오류가 발생하면, 정상 위치의 호출문도 오류가 발생함

 

1
2
3
let 함수명 = function() {
    코드;
}
cs

 

#  즉시 실행 함수

  - 익명 함수의 일종

  - 이름이 같은 함수로 만들어도 둘 다 각각 호출됨

  - 즉시 실행 함수를 변수에 담으면, 함수 자체가 아닌 함수 실행 결과 값이 담김

 

1
2
3
4
5
6
7
8
9
// 매개변수가 없는 함수
(function() {
        코드;
})(); 
 
// 매개변수가 
(function(매개변수a, 매개변수b){
        코드;
})(인수a, 인수b); 
cs

 

#  화살표 함수

  - => 표기법을 사용해서 함수 선언 부분을 간단하게 작성함

 

1
2
(a, b) => {return a + b};
(a, b) => a + b;
cs

 

 


#  매개변수를 선언하지 않고, 함수에 전달된 값 받아오기

1
2
3
4
5
6
7
// 정의
function 함수명() {
    let 변수 = arguments[0+ arguments[1+ arguments[2+ ...;
}
 
// 호출
함수명(데이터1, 데이터2, 데이터3, ...);
cs

 

 

반응형
728x90

함수 종료

#  return

  - 값을 반환하고 함수를 종료시킴

 

#  break

  - 함수를 종료시킴

 

 


재귀 함수

  - 자기 자신을 호출하는 함수

 

1
2
3
4
function 함수명a() {
    코드;
    함수명a();
}
cs

 

 


기타 메모

- 전역 함수 : 일반적인 함수
- 지역 함수 : 함수 내에서 정의된 함수

- 함수 스코프 : 함수 구현부 { }의 범위
- 전역 변수 : 함수 밖에서 정의된 변수    → 모든 영역에서 사용 가능한 변수
- 지역 변수 : 함수 내에서 정의된 변수    → 함수 내에서만 사용 가능하며, 외부에서는 접근할 수 없는 변수

- 매개변수 (Parameter) : 함수 선언 시 필요하다고 지정하는 변수
- 인수 (Argument) : 함수 실행 시 매개변수로 넘겨주는 값

 

320x100
반응형

댓글