: 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것
함수안에서 또다른 함수 선언
function outter() { //외부함수
function inner() { //내부함수
var title = 'hi';
alert(title); //내부함수는 외부함수의 지역변수에 접근 가능.
}
inner();
}
outter();
외부함수가 소멸된 이후(return)에도 내부함수가 외부함수에 접근할 수 있음.
function outter() {
var title='hi';
return function() {
alert(title);
}
}
inner = outter();
inner();
var arr= []
for(var i=0; i<5; i++){
arr[i]= function(id){
return function(){
return id;
}
}(i);
}
javascript의 특수한 변수 arguments
function one(arg1){
console.log(
'one.length', one.length,
'arguments', arguments.length
);
}
one('val1', 'val2'); //one.length == 1, arguments == 2