>  기사  >  웹 프론트엔드  >  JavaScript 함수 범위 체인 분석_javascript 기술

JavaScript 함수 범위 체인 분석_javascript 기술

WBOY
WBOY원래의
2016-05-16 16:14:131019검색

이 글은 예시를 통해 JavaScript 함수 범위 체인을 분석합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

스코프 체인:

JavaScript의 각 함수에는 자체 범위가 있으며 이는 AO(Active Object) 활성 개체를 사용하여 저장됩니다. 범위 체인은 아래 그림과 같이 상호 중첩된 함수로 구성됩니다.

스코프 체인은 내부에서 외부까지 AO 체인입니다

변수 검색:

fn3 함수에 사용된 변수를 fn3 범위에서 찾을 수 없는 경우 전역 개체 창까지 외부 fn2 범위에서 찾을 수 있습니다.

코드 데모는 다음과 같습니다.

var c = 5; 
function t1(){ 
  var d = 6; 
  function t2(){ 
    var e = 7; 
    var d = 3;
 //如果在这里声明的var d = 3,
 //那么函数就不在向外寻找变量d,输出的值为15 
    console.log(c+d+e); 
  } 
  t2(); 
} 
t1();

자바스크립트 스코프 체인을 이해한 후에는 함수에서 자주 사용하는 외부 변수를 연산하기 전에 외부 변수를 로컬 변수로 저장하는 것이 가장 좋습니다. 이렇게 하면 스코프 체인을 통해 변수를 검색하는 시간이 크게 줄어듭니다.

이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.