JavaScript Closure는 JavaScript의 강력하고 중요한 개념입니다. 외부 (폐쇄) 함수가 실행 된 후에도 함수를 말하면 여전히 외부 함수의 변수에 액세스 할 수 있습니다. Closing은 JavaScript 범위 및 기능 프로그래밍의 핵심 구성 요소입니다.
폐쇄의 작동 원리
함수가 다른 함수 내부에서 정의되면 내부 함수는 외부 함수의 변수 및 매개 변수에 액세스 할 수 있습니다. 외부 함수가 실행 된 후에도 내부 기능은 여전히 이러한 변수의 액세스 권한을 유지합니다. 이 동작을 폐쇄라고합니다.
폐쇄 예
이 예에서 <:> :
는 실행이 완료된 후에도 여전히
의 액세스를 유지하기 때문에 폐쇄입니다.
폐쇄의 실제 적용
데이터 개인 정보 보호 : 폐쇄는 개인 변수를 생성하는 데 사용될 수 있으며 이러한 변수는 특정 함수에 의해서만 액세스 할 수 있습니다.
function 外部函数() {
let 外部变量 = '我来自外部作用域';
function 内部函数() {
console.log(外部变量); // 内部函数可以访问外部变量
}
return 内部函数;
}
const 闭包示例 = 外部函数();
闭包示例(); // 输出: "我来自外部作用域"
로그인 후 복사
<调 调> <<> 콜백 함수
: 닫힌 것은 이벤트 처리 프로그램 또는 Ajax 호출과 같은 비동기 프로그래밍에 널리 사용됩니다.
内部函数
外部函数
<柯> <<> corrihua <🎜 外部变量
: 함수 corrihua의 경우 닫히면 함수 중 하나는 일부 매개 변수로 다른 함수를 반환합니다.
폐쇄의 장점 <🎜 🎜>
<用> <<> 제어 도메인 제어 <🎜 - : 클로저는 변수 범위를 제어하여 전역 범위를 오염시키는 것을 방지합니다.
<存 存> <<> 메모리 효율 <🎜 🎜> : 클로저를 통해 특정 변수의 액세스 권한을 유지하여 전역 변수를 생성하지 않고 메모리를 효과적으로 사용할 수 있습니다.
폐쇄 예방 조치 <🎜 🎜>
<存 存> <<> 메모리 누출 <🎜 function 创建计数器() {
let 计数 = 0;
return function() {
计数++;
return 计数;
};
}
const 计数器 = 创建计数器();
console.log(计数器()); // 输出: 1
console.log(计数器()); // 输出: 2
console.log(计数器()); // 输出: 3
로그인 후 복사
: 제대로 사용되지 않으면 폐쇄는 외부 변수에 대한 참조를 유지하기 때문에 메모리 누출을 유발할 수 있으며, 이는 쓰레기 재활용을 방지 할 수 있습니다.
<能 能> <<> 성능 오버 헤드 - : 오버 사용 폐쇄로 인해 메모리 소비가 증가하여 성능 문제가 발생할 수 있습니다.
실제 세계의 예 : 개인 변수 <🎜
이 예에서 <:> : <🎜 🎜>
<量> <<> 변수는 비공개이며 폐쇄에 의해 제공된 방법을 통해서만 액세스하거나 수정할 수 있습니다. setTimeout(function() {
console.log('这是一个使用闭包的回调函数');
}, 1000);
로그인 후 복사
위 내용은 자바 스크립트 폐쇄의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!