JavaScript에서 클로저를 생성하는 데 일반적으로 사용되는 두 가지 방법이 있습니다.
생성자 방법:
new function() { var 变量... }
인라인 실행 방법:
(function() { var 变量... })();
JavaScript의 내부 작동 메커니즘에서 이들 사이의 차이점은 무엇입니까? 어떤 방법으로 만드는 것이 더 낫습니까? 다른 방식으로 생성된 클로저에 비해 어떤 이점이 있습니까?
제가 이해한 방법은 다음과 같습니다.
차이:
첫 번째: 하위 메소드는 변수를 공유할 수 있습니다
두 번째: 내부 하위 메소드 공유 변수
비교:
인라인이 더 나은 것 같아요;
장점:
일반적으로 인라인 생성에는 요청 시 메모리가 필요합니다. 왜냐하면 로컬에서 실행되는 변수만 메모리에 있기 때문입니다. 관련 코드와 종속 코드를 구성하여 예상치 못한 상호 작용의 위험을 최소화하고 모든 메소드 실행 변수를 메모리에 저장해야 하므로 영향을 미칩니다. 웹 페이지의 성능을 종료하기 전에 변수를 삭제하는 것이 좋습니다
물론 이것은 단지 개인적인 이해일 뿐입니다. 사실 일반적으로 클로저를 사용하면 특히 IE 커널 브라우저에서 변수를 사용하는 경우 메모리 누수가 발생합니다.
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다