> 웹 프론트엔드 > JS 튜토리얼 > 자바 스크립트 폐쇄

자바 스크립트 폐쇄

Barbara Streisand
풀어 주다: 2025-01-29 22:37:10
원래의
153명이 탐색했습니다.

JavaScript Closure는 JavaScript의 강력하고 중요한 개념입니다. 외부 (폐쇄) 함수가 실행 된 후에도 함수를 말하면 여전히 외부 함수의 변수에 액세스 할 수 있습니다. Closing은 JavaScript 범위 및 기능 프로그래밍의 핵심 구성 요소입니다. JavaScript Closures 폐쇄의 작동 원리 함수가 다른 함수 내부에서 정의되면 내부 함수는 외부 함수의 변수 및 매개 변수에 액세스 할 수 있습니다. 외부 함수가 실행 된 후에도 내부 기능은 여전히 ​​이러한 변수의 액세스 권한을 유지합니다. 이 동작을 폐쇄라고합니다.

폐쇄 예

이 예에서 <:> : 는 실행이 완료된 후에도 여전히

의 액세스를 유지하기 때문에 폐쇄입니다.

폐쇄의 실제 적용

데이터 개인 정보 보호 : 폐쇄는 개인 변수를 생성하는 데 사용될 수 있으며 이러한 변수는 특정 함수에 의해서만 액세스 할 수 있습니다.

<code class="language-javascript">function 外部函数() {
    let 外部变量 = '我来自外部作用域';

    function 内部函数() {
        console.log(外部变量); // 内部函数可以访问外部变量
    }

    return 内部函数;
}

const 闭包示例 = 外部函数();
闭包示例(); // 输出: "我来自外部作用域"</code>
로그인 후 복사
콜백 함수

: 닫힌 것은 이벤트 처리 프로그램 또는 Ajax 호출과 같은 비동기 프로그래밍에 널리 사용됩니다.

内部函数 外部函数 corrihua 外部变量 : 함수 corrihua의 경우 닫히면 함수 중 하나는 일부 매개 변수로 다른 함수를 반환합니다.

폐쇄의 장점
    제어 도메인 제어 : 클로저는 변수 범위를 제어하여 전역 범위를 오염시키는 것을 방지합니다. 메모리 효율 : 클로저를 통해 특정 변수의 액세스 권한을 유지하여 전역 변수를 생성하지 않고 메모리를 효과적으로 사용할 수 있습니다. 폐쇄 예방 조치
메모리 누출 function 创建计数器() { let 计数 = 0; return function() { 计数++; return 计数; }; } const 计数器 = 创建计数器(); console.log(计数器()); // 输出: 1 console.log(计数器()); // 输出: 2 console.log(计数器()); // 输出: 3 : 제대로 사용되지 않으면 폐쇄는 외부 변수에 대한 참조를 유지하기 때문에 메모리 누출을 유발할 수 있으며, 이는 쓰레기 재활용을 방지 할 수 있습니다.
    성능 오버 헤드
  1. : 오버 사용 폐쇄로 인해 메모리 소비가 증가하여 성능 문제가 발생할 수 있습니다. 실제 세계의 예 : 개인 변수
이 예에서 <:> : 변수는 비공개이며 폐쇄에 의해 제공된 방법을 통해서만 액세스하거나 수정할 수 있습니다.
<code class="language-javascript">setTimeout(function() {
    console.log('这是一个使用闭包的回调函数');
}, 1000);</code>
로그인 후 복사

위 내용은 자바 스크립트 폐쇄의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿