개념:
클로저는 다른 함수의 내부 변수를 읽을 수 있는 함수입니다.
클로저 메서드 만들기:
함수 내부에 또 다른 함수를 만들고 다른 함수를 통해 이 함수의 지역 변수에 액세스합니다.
Js 코드
function box(){ var user ='Zhu'; return function(){ return user; } } var b = box(); console.log(b()) console.log(box()())
클로저 사용의 장점:
지역 변수는 메모리에 상주할 수 있으므로 전역 변수는 사용하지 마세요. 오염.
클로저를 통해 지역 변수 축적:
Js 코드
function func(){ var num=100; incr=function(){// 未使用关键字var , 该函数为全局 num+=1; return num; } var m1= function(){ console.log(num) } return m1; } var m1 = func(); m1();//100 console.log(incr())//101。。通过全局函数操作局部变量 m1();//101
단점:
이후 클로저의 범위에서 반환된 지역 변수 리소스는 즉시 삭제 및 재활용되지 않으며 클로저를 과도하게 사용하면 성능 저하가 쉽게 발생할 수 있습니다.