>  기사  >  웹 프론트엔드  >  JavaScript 클로저에 대한 간단한 이해

JavaScript 클로저에 대한 간단한 이해

高洛峰
高洛峰원래의
2016-10-15 16:09:431235검색

"The Definitive Guide to JavaScript" 또는 "Elevation"과 같은 JS에 관한 많은 책에서는 초보자가 이해할 수 없을 만큼 모호한 방식으로 클로저를 설명합니다! 하지만 두려워하지 마십시오. 오늘은 클로저가 무엇인지 매우 간단한 방법으로 설명하겠습니다. 초보자를 위한 클로저 설명입니다. 막연하고 무뚝뚝한 표현은 없고, 한눈에 이해하실 수 있습니다. 틀린 부분이 있으면 바로잡아주세요!
클로저를 이해하려면 먼저 변수의 범위를 이해해야 합니다.
JS에는 전역 변수와 지역 변수라는 두 가지 변수 범위가 있습니다. 이름에서 알 수 있듯이 전역 변수는 모든 위치에서 참조할 수 있는 변수이고, 지역 변수는 특정 위치에서만 참조할 수 있는 변수입니다. 아래 코드.

var globalScope="global scope";
function f(){
    var localScope="local scope";
    console.log(globalScope);//global scope
}
console.log(localScope);//undefined

함수 f()에서는 함수 몸체 외부에 정의된 globalScope에 접근할 수 있지만, 함수 몸체 외부에 정의된 localScope에는 접근할 수 없습니다. 이것이 전역 변수와 지역 변수의 차이점입니다.
함수 본문 외부에서 localScope에 절대 액세스할 수 없는 것이 가능한가요? 아니요, 이를 위해 폐쇄가 탄생했습니다.

function f(){
    var localScope="local scope";
    return function(){
        console.log(localScope);
    }
}
f()();//local scope

f() 함수 외부에서 지역 변수 localScope에 액세스했습니다. f() 함수 내에 정의된 익명 함수는 클로저입니다!

JavaScript 클로저에 대한 간단한 이해

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