선언적 함수(함수 선언식)
- 선언적 함수 : 이름이 있는 함수
⭐ 함수명은 주로 동사형을 사용
// 선언적 함수
function check() {
document.write('함수가 호출되었습니다.<br>');
}
// 함수 호출
check();
- 매개변수가 있는 선언적 함수
⭐ 자바스크립트는 매개변수의 자료형을 작성하지 않는다.
function check2(msg) {
document.write(msg + '을 좋아합니다.<br>');
}
// 함수 호출
check2('가을');
- 반환값이 있는 선언적 함수
⭐ 자바스크립트는 반환형을 작성하지 않는다.
function check3(num) {
return num*num;
}
// 함수 호출
var number = check3(10);
document.write('number = ' + number + '<br>');
익명 함수(함수 표현식)
- 익명 함수 : 함수명이 없는 함수
// 익명 함수
var play = function(){
document.write('Let's Play!<br>');
};
// 함수 호출
play();
- 매개변수가 있는 익명 함수
var play2 = function(item) {
document.write(item + '를 좋아합니다.<br>');
}
// 함수 호출
play2('축구');
- 반환값이 있는 익명 함수
var play3 = function(x,y) {
return x+y;
}
// 함수 호출
var result = play3(5, 8);
document.write('result = ' + result);
함수 주의사항
- 함수의 이름이 같을 경우, 마지막 함수가 실행됨
function 함수() {
document.write('함수 A<br>');
}
function 함수() {
document.write('함수 B<br>');
}
함수();
// [출력결과] 함수 B
- 동일한 변수명에 익명함수를 대입할 경우, 마지막 함수가 실행됨
var 함수3 = function() {
document.write('함수 D<br>');
};
var 함수3 = function(){
document.write('함수 E<br>');
};
함수3();
// [실행결과] 함수 E
함수 호이스팅(Hoisting)
- 함수 호이스팅이란 함수의 선언문이 유효 범위(Scope)의 최상단 이동하도록 코드가 자동 변환되는 것을 말한다.
- 함수를 먼저 호출하고 선언하는 경우, 정상적으로 실행됨
⭐ 함수 선언문 형식일 때만 호이스팅 된다.
함수2();
function 함수2() {
document.write('함수 C<br>');
}
// [출력결과] 함수 C
- ⚠️ 변수에 함수를 할당하는 경우, 에러발생!
함수4();
var 함수4 = function() { // 에러 발생!!
document.write('함수4');
}
'Web > JavaScript' 카테고리의 다른 글
[JavaScript] 함수의 매개변수, 가변인자, return과 break (0) | 2021.08.05 |
---|---|
[JavaScript] 지역변수와 전역변수, let 과 const (0) | 2021.08.05 |
[JavaScript] 조건문, 반복문 (0) | 2021.08.05 |
[JavaScript] 연산자 (0) | 2021.08.05 |
[JavaScript] 변수, 자료형, 형변환 (0) | 2021.08.05 |