javascript에서 함수는 만드는 방법은 크게 두가지가 있다.
1. 선언적 함수
2. 익명 함수
선언적 함수: 말 그대로 함수의 이름을 선언해주는 형태
익명 함수: 함수의 이름이 없는 함수 형태
[선언적 함수 예시]
// 선언적 함수
function testFunction() {
alert('call...');
}
function testFunction2(data) {
alert('data : ' + data);
}
function testFunction3(data1, data2) {
alert(`data1 : ${ data1 }, data2 : ${ data2 }`);
}
[익명 함수 예시]
var func01 = function() {
alert('익명함수 call func01()...');
}
//익명함수 함수이름이 없는 함수
var a = function(){
alert('선언적 함수 bbb()호출')
}
a()//a로 호출해야한다.
반드시 알아두어야 할 특징은 우선순위가 익명 함수 > 선언적 함수 라는 점
익명함수와 선언적 함수의 이름이 같을 경우, 익명함수의 우선순위가 더 높다.
[우선순위 익명함수 > 선언적 함수 예시]
//익명 함수를 aaa라는 객체 변수에 넣음
//javascript는 변수를 객체로 인식함
//aaa라는 변수가 익명함수function을 가르키는 형태
var aaa = function() {
alert('익명함수 aaa() 호출...');
}
//aaa객체변수 호출
aaa()
//aaa라는 함수이름을 호출
function aaa() {
alert('선언적 함수 aaa() 호출...');
}
//"aaa()라는 함수를 호출"--> XXXXXX안됨
//aaa()라는 익명함수가 우선순위가 높기때문에 aaa()함수 대신
//aaa라는 객체변수가 호출되서
//alert('익명함수 aaa()호출')됨!!!!
aaa()
'' 카테고리의 다른 글
[javaScript] BOM/DOM (0) | 2021.05.09 |
---|---|
[javaScript] innerHTML / innerText 차이 (0) | 2021.05.08 |
[jQuery] html(), text(), attr() 함수 (0) | 2021.05.07 |
[javaScript] 고전적 javascript 이벤트 모델 / jQuery 이벤트 모델 (0) | 2021.05.06 |