[생활코딩 함수 ] 클로저 3
1
<HTML>
<HEAD>
<TITLE> closure</TITLE>
</HEAD>
<script>
//내부함수가 외부함수에 접근 할 수 있다.
//내부함수는 외부함수의 지역변수에 접근할 수 있다.
function outter(){
var name = 'kang';
function inner(){
alert(name)
}
inner();
}
outter();
</script>
<BODY>
</BODY>
</HTML>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<script>
var arr = []
console.log("START");
for(var i = 0; i < 5; i++){
console.log("A");
arr[i] = function(){
console.log("B");
console.log("i ===> "+i);
return i;
}
// console.log(arr);
// console.log("arr ===> "+arr[i]());
}
console.log("[for문 END]FINAL return값 i ===> "+i);
console.log("[for/in문 START]");
for(var index in arr) {
console.log("C");
console.log("index ====> "+index);
console.log("arr ===> "+arr[index]());
}
</script>
</body>
</html>
6.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<script>
var arr = []
console.log("START");
for(var i = 0; i < 5; i++){
arr[i] = (function(id){
console.log("A");
console.log("i ===> "+i);
return function(){
console.log("B");
console.log("id ===> "+id);
return id;
}
})(i);
// console.log("[for문]arr ===> "+arr[i]());
}
console.log("[for문 END]FINAL return값 i ===> "+i);
console.log("[for/in문 START]");
for(var index in arr) {
console.log("C");
console.log("index ====> "+index);
console.log("arr ===> "+arr[index]());
}
</script>
</body>
</html>