클로저의 용도를 살펴보겠습니다. 실제로 클로저를 사용하면 많은 일을 할 수 있습니다. 예를 들어, 객체 지향 코딩 스타일을 시뮬레이션할 수 있으며, 코드를 더욱 우아하고 간결하게 표현하고 일부 측면에서 코드의 실행 효율성을 향상시킵니다.
1 익명 자체 실행 기능
우리는 모든 변수를 알고 있습니다. var 키워드를 추가하지 않으면 기본적으로 전역 객체의 속성에 추가됩니다. 이러한 임시 변수를 전역 객체에 추가하면 많은 단점이 있습니다.
예를 들어, 다른 함수가 이러한 변수를 오용할 수 있습니다. 전역 객체가 너무 커지고 액세스 속도에 영향을 미칠 수 있습니다(변수 값이 프로토타입 체인에서 이동해야 하기 때문입니다).
변수를 사용할 때마다 var 키워드를 사용하는 것 외에도 실제 상황에서는 이러한 상황이 자주 발생합니다. 즉, 일부 함수는 한 번만 실행하면 되고 해당 내부 변수는 유지 관리할 필요가 없습니다.
예를 들어 UI 초기화의 경우 클로저를 사용할 수 있습니다.
또 다른 예를 살펴보겠습니다. 처리 시간이 매우 오래 걸리는 함수 개체가 있습니다.
그런 다음 캐시를 업데이트하고 값을 반환하면 찾은 값을 직접 반환하면 됩니다. 클로저는 외부 참조를 해제하지 않기 때문에 정확히 이 작업을 수행합니다.
따라서 함수 내부의 값이 보존될 수 있습니다.
코드 복사
코드는 다음과 같습니다.
코드는 다음과 같습니다.
위는 js 클로저의 기능입니다. 매우 간단하고 이해하기 쉽습니다.