> 웹 프론트엔드 > JS 튜토리얼 > 자바스크립트의 클로저 및 자체 실행 기능을 사용하여 수많은 전역 변수 문제 해결_javascript 기술

자바스크립트의 클로저 및 자체 실행 기능을 사용하여 수많은 전역 변수 문제 해결_javascript 기술

WBOY
풀어 주다: 2016-05-16 18:12:52
원래의
1605명이 탐색했습니다.

그러나 글로벌 관점에서 볼 때 이는 우리가 제어하기 어려운 몇 가지 상황으로 이어질 것입니다. 동일한 이름을 가진 변수, 여러 함수가 글로벌 변수를 공유한 후의 값 변환... 등이 있습니다. 따라서 때로는 일부 간단한 전역 변수의 경우 자체 실행 함수 폐쇄 방법을 사용하여 다른 방법으로 처리할 수 있습니다.

예: 웹 페이지가 로드될 때 제공하려고 합니다. 웹 페이지가 닫힐 때 다른 프롬프트를 표시하는 프롬프트
다음 코드는 위 기능을 구현합니다

코드 복사 코드는 다음과 같습니다. 다음:

var msg1 = "Welcome!"; // 전역 변수 정의
var msg2 = "Goodbye!" // 다른 전역 변수 정의
window.onload = function( ) {
경고(msg1);
}
window.onunload = function() {
경고(msg2)
}

이 두 개의 전역 변수 코드 조각에 사용되었습니다. 간단한 기능을 구현하는 것뿐입니다.
게다가 전역 변수가 너무 많아서 기억해야 합니다. msg1은 환영할 때의 변수이고, msg2는 닫을 때의 변수입니다... 더 많은 변수가 있어도 기억할 수 있나요?


다음은 동일한 기능이지만 자체 실행 기능 폐쇄 방법을 사용합니다.
코드 복사 코드는 다음과 같습니다.

(function() {
 var msg = "Hello, world!";
window.onload = function() {
 alert (msg);
 }
})();

(function() {
 var msg = "Hello, world!";
 window.onunload = function() {
Alert(msg);
 }
})();

후자의 접근 방식이지만 코드는 늘어났지만:
1) msg ​​​​변수는 함수 내에서 각각의 Valid에서만 실행됩니다. 다른 전역 변수와 혼동이 발생하지 않습니다.
2) 코드 구조가 더욱 명확해집니다.
3) 전역 변수가 많이 사용되는 상황을 해결합니다.

위 내용은 제 개인적인 이해일 뿐입니다. 실제 전문가의 의견을 부탁드립니다!
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿