정의를 살펴보겠습니다.
클로저
소위 "클로저"는 많은 변수와 이러한 변수에 바인딩된 환경을 포함하는 표현식(일반적으로 함수)을 의미하므로 이러한 변수도 표현식 부분입니다. 공식.
이것은 JavaScript의 클로저가 컨텍스트를 포함하는 함수라는 것을 보여줍니다. 즉, 이 함수의 기반은 선형 대수학을 뛰어넘을 수 없습니다. 느낌?
다른 관점에서 보면 폐쇄의 기능은 OO를 달성하는 것이다. 자바스크립트에는 C처럼 public, private, protected 속성 표시가 없어 클래스를 구축하기가 어렵습니다. "클래스는 동작이 있는 데이터이고, 클로저는 데이터가 있는 동작입니다." JavaScript에서는 클래스 정의를 함수 정의로 바꾸고, setter/getter 메서드를 클로저로 바꿉니다. 라이브코드를 살펴보세요: