2023. 2. 23. 15:38ㆍJAVASCRIPT
<script>
// 즉시실행함수(IIFE : Immediately Invoked Function Expression)
// 함수 정의와 동시에 즉시 호출되는 함수를 즉시실행함수
// 즉시실행함수는 단 한번만 호출된다, 다시호출할 수 없다.
// 패턴
(function(){
//코드...
})();
(function(){
//코드...
}());
(function(){
console.log("즉시 실행함수....");
})();
(function(){
console.log("익명 즉시 실행함수....");
}());
(function aaa(){
console.log("기명 즉시 실행함수....");
}());
// 즉시 실행함수는 한번 실행 후에 메모리에서 사라짐
// 따라서, 재호출하면 참조오류 발생
//aaa(); // 참조오류 발생
(my = function(x){
console.log("예> : "+(x*x));
})(2);
my(3);
// 변수에 즉시 실행함수를 저장
var my2 = (function(x){
return x*x;
})(4);
console.log("my2 : " + my2);
var app = (function(){
// private
var str = "하이";
var intVal = 1000;
// public
return {
propStr : str,
propInt : intVal
};
}());
//console.log(app.str); // 외부에서 접근안됨.
console.log(app.propStr); // 외부에서 접근안됨.
//console.log(app.intVal);
console.log(app.propInt);
////////////// 모듈화 패턴 /////////////
var member = (function(){
var name = '홍';
var age = '22';
var addr ='강남';
var salary = 2000;
var tax = 100;
var email = 'test@gmail.com';
var tel = 010-1212-1212;
// public 함수
var method = function(){
paySalary = salary - tax;
return paySalary;
};
// private 함수
var memInfo = function(){
return name + ", " + addr;
};
return{
name:name,
tax:tax,
email:email,
method: method
};
}());
console.log(member.name);
console.log(member.email);
console.log(member.salary);
console.log(member.method());
console.log(member.memInfo()); // 에러
</script>
'JAVASCRIPT' 카테고리의 다른 글
| 업로드 input 추가 , 파일 선택시 이미지 추출 (0) | 2023.02.17 |
|---|---|
| AJAX (0) | 2023.02.16 |