JavaScript에는 함수 범위만 있습니다. 각 함수에는 창 개체에 대한 범위 체인이 있습니다.
변수는 발견될 때까지 내부에서 외부로 레이어별로 검색됩니다.
동시에 찾아서 사용할 수 있을 뿐만 아니라 외부 변수를 변경할 수도 있습니다.
var color = "blue";
functionchangeColor() {
var anotherColor = "red";
function swapColors() {
var tempColor = anotherColor;
anotherColor = color;
color = tempColor;
}
swapColors();
}
changeColor();
console.log(color); // "red" 외부 변수에 접근할 수 있을 뿐만 아니라 수정할 수도 있습니다