javascript 기초 진급집행 환경 과 역할 영역 체인 을 깊이 분석 하 다.

실행 환경
실행 환경 은 변수 나 함수 가 접근 할 수 있 는 다른 함 수 를 정의 하여 각자 의 행동 을 결정 합 니 다.모든 실행 환경 에는 이와 관련 된 변수 대상 이 있 습 니 다.
변수 개체
환경 에서 정 의 된 모든 변수 와 함 수 는 이 대상 에 저 장 됩 니 다.
전역 실행 환경
전역 실행 환경 은 가장 외곽 의 실행 환경 이다.웹 브 라 우 저 에서 전역 실행 환경 은 Window 대상 으로 여 겨 지기 때문에 모든 전역 변수 와 함 수 는 window 대상 의 속성 과 방법 으로 만 듭 니 다.
모든 함수 에는 자신의 실행 환경 이 있다.
역할 영역 체인
코드 가 한 환경 에서 실 행 될 때 변수 대상 의 역할 도 메 인 체인 을 만 듭 니 다.
용도:실행 환경 에 접근 할 수 있 는 모든 변수 와 함수 에 대한 질서정연 한 접근 을 보장 합 니 다.
특징:역할 도 메 인 체인 의 전단 은 현재 실 행 된 코드 가 있 는 환경의 변수 대상 입 니 다.이 환경 이 함수 라면 활동 대상 을 변수 대상 으로 합 니 다.활동 대상 은 처음에 arguments 대상 만 포함 되 었 습 니 다.역할 필드 의 다음 변 수 는 환경 을 포함 하고 다음 에는 환경 을 포함 합 니 다.

var color ="blue";
function changeColor() {
 
 var anotherColor ="red";
 
 function swapColors() {
  var tempColor = anotherColor;
  anotherColor = color;
  color = tempColor;
 }

 swapColors();
}

changeColor();
그림 에서 실행 환경 을 나타 내 면 내부 환경 은 역할 도 메 인 체인 을 통 해 외부 환경 을 방문 할 수 있 지만 외부 환경 은 내부 환경 에서 의 변수 와 함 수 를 방문 할 수 없다.모든 환경 에서 역할 도 메 인 체인 을 위로 검색 하여 변수 와 함 수 를 조회 할 수 있 습 니 다.하지만 아래로 검색 할 수 없습니다.

블록 급 역할 영역 선언 변수 없 음
var 성명 을 사용 하 는 변 수 는 가장 가 까 운 환경 에 자동 으로 추 가 됩 니 다.var 키 워드 를 생략 하면 전역 환경 에 추 가 됩 니 다.

function add(num1,num2) {

 var sum = num1+num2;

 return sum;

}

var result= add(10,10)

console.log(sum)

sum is not defined

function add(num1,num2) {

 sum = num1+num2;

 return sum;

}

var result= add(10,10)

console.log(sum)

검색 식별 자
검색 과정 은 역할 도 메 인 체인 의 전단 에서 시작 하여 주어진 이름과 일치 하 는 식별 자 를 위로 한 단계 씩 조회 하고 검색 을 종료 합 니 다.즉,일부 환경 에 같은 이름 의 식별 자가 존재 한다 면 부모 환경 에 있 는 표지 부 를 사용 하지 않 을 것 이다.

var color ="red";

function getColor() {



 return color;

}



console.log(getColor())

var color ="red";

function getColor() {

 var color="green";

 return color;

}



console.log(getColor())

참고:자 바스 크 립 트 고급 프로 그래 밍(제3 판)
이상 이 자 바스 크 립 트 기초 진급집행 환경 과 역할 도 메 인 체인 을 깊이 분석 하 는 것 은 바로 소 편 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 여러분 들 이 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기