728x90
반응형

closure
외부 함수 안에 있는 내부함수가 외부함수의 변수 등에 접근 가능
<body>
<h2>클로저</h2>
<label for="am">오전강의</label>
<input type="text" id="am"/>
<input type="button" value="클릭" onclick="amEdu(am.value);"/>
<label for="pm">오후강의</label>
<input type="text" id="pm"/>
<input type="button" value="클릭" onclick="pmEdu(pm.value);"/>
</body>
<script type="text/javascript">
function closureTest(val){ // 외부함수
var msg = "재밌겠다!!";
function addVal(){
alert(val+msg); // 내부함수
}
return addVal;
}
function amEdu(val){
closureTest(val)();
}
//var pmEdu = closureTest("자바스크립트"); ---이런식으로 익명함수 사용 가능
function pmEdu(val){
closureTest(val)();
}
</script>
addVal이라는 내부함수를 담고 있는 closureTest함수가 amEdu와 pmEdu의 함수안에서 호출되어 사용되었다.
각 함수에서 val이라는 파라미터는 body안의 텍스트 박스에서 받은 value값이다.



728x90
반응형
'Web > JavaScript' 카테고리의 다른 글
| [JS]node, nodelist (0) | 2020.07.28 |
|---|---|
| [JS]rolling (0) | 2020.07.28 |
| [JS]함수function_02 (0) | 2020.07.28 |
| [JS]함수Function_1 (0) | 2020.07.28 |
| [JS]변수var (0) | 2020.07.27 |