이 글은 js의 클로저에 대한 설명과 변수 선언의 예(코드)를 미리 제공합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
Closure
함수 A에 함수 B를 선언하고, 함수 B는 함수 A의 범위에 있는 변수를 사용하고, 함수 A는 함수 B를 반환(return)하고, 함수 B는 함수 뒤에 클로저를 형성합니다. A가 호출됩니다. 반환된 함수 B가 존재하는 한 함수 A의 범위는 항상 존재합니다
function makeFn(){ var n1 = 100; function fn(){ var n2 = 200; console.log(n1); } return fn; } var f2 = makeFn(); f2();
클로저는 다음과 같은 개체의 개인 속성을 실현할 수 있습니다.
var obj = { name:"sunset", age:12, speak:function(){ console.log("我是"+this.name); } } console.log(obj.name);
또 다른 예:
function makeObj(){ var name = "sunset"; var age = 12; var obj = { speak:function(){ console.log("我叫"+name); } } return obj; } console.log(obj.speak());
마지막 매우 좋음 예: (jQuery를 가져온 후 확인)
<script> for (var i = 0; i < 10; i++) { function makeFn(index) { function fn() { console.log(index) } return fn; } var btn = makeFn(i); $("<button></button>") .text(i + 1) .appendTo(document.body) .on("click",btn) } </script>
변수 사전 선언:
js 범위에서는 모든 변수의 선언이 고급화되지만 할당은 고급화되지 않습니다. 미리 보여드렸으니 익힌 후 설명할 필요가 없습니다)
var a = 3; function f1(){ console.log(a); var a = 10; } f1();
는
function f1(){ var a; console.log(a); a = 10; } f1();
와 동일합니다. 관련 권장 사항:
PHP 외부 변수의 클로저 획득 및 변수의 전역 키워드 선언 explain_php example
JavaScript 클로저 - 클로저에 있는 변수와 이 객체
위 내용은 js의 클로저 설명 및 사전 변수 선언 예시(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!