>  기사  >  웹 프론트엔드  >  자바스크립트 클로저

자바스크립트 클로저

巴扎黑
巴扎黑원래의
2016-12-06 09:56:081081검색

개념:

클로저는 다른 함수의 내부 변수를 읽을 수 있는 함수입니다.

클로저 메서드 만들기:

함수 내부에 또 다른 함수를 만들고 다른 함수를 통해 이 함수의 지역 변수에 액세스합니다.

function box(){
  var user ='Zhu';
  return function(){
    return user;
  }
}
var b = box();
console.log(b())
console.log(box()())

클로저 사용의 장점:
전역 변수 오염을 방지하기 위해 지역 변수가 메모리에 상주할 수 있습니다.
클로저를 통해 지역변수 축적:

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

단점:
클로저의 범위에서 반환된 지역변수 리소스는 즉시 소멸되지 않고 재활용되므로 클로저로의 전환이 쉽습니다. 결과적으로 성능 저하가 발생합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:js 클로저와 루프다음 기사:js 클로저와 루프