1. JavaScripe 범위의 부서 표준은 기능 함수 블록입니다.
<cript> 함수 f1 () {alert ( "전기 전 :"+i); // i는 할당되지 않습니다 (선언이 없음! 명확하지 않은 변수 또는 함수를 사용하면 치명적인 오류가 발생하고 스크립트 실행을 중단합니다) // 현재 I 값은 (var i = 0; i <3; i ++) {alert ( "in in"+i);}에 대해 정의되지 않습니다. // i의 값은 3이지만 이미 범위를 벗어난 3이지만 i의 값은 여전히 3으로 유지됩니다 (true) {var j = 1; break;} alert (j); // j의 값은 1이며 이미 where 범위를 벗어나지 만 j의 값은 여전히 (true) {var j = 1; if (var j = 1; break;} alert (j); // j의 값은 1이며 이미 where 범위를 벗어나지 만 j의 값은 여전히 (true) {var k = 1; if (var k = 1; } 경고 (k); // k의 값은 1이고 이미 IF 범위의 범위를 벗어나지 만 k의 값은 여전히 1} f1 ()로 유지됩니다. // 현재 함수는 함수 블록 외부에서 호출되며 IJK 변수 알림 (i) F1의 함수 범위에 다시 출력됩니다. //오류!!! 그 이유는 내가 여기에 선언되지 않았기 때문에 (F1의 첫 번째 줄의 출력과 다르면, 할당되지 않은 경우) 스크립트가 잘못되고 프로그램이 종료되기 때문입니다! 경고 (j); // 실행되지 않은 경고 (k); // 실행되지 않음 </script>2. JavaScript가 실행되기 전에 전체 스크립트 파일을 사전 컴파일합니다 (로컬 변수 부분을 포함하여 스크립트 파일의 선언 부분을 분석). 따라서 실제 변수의 범위를 결정합니다. 예를 들어 아래 :
<cript> var x = 1; 함수 f2 () {alert (x); // X의 값은 정의되지 않았습니다! 이 X는 전역 변수가 아닙니다. 중복 이름이있는 로컬 변수가 함수 스코프에서 선언되었으므로 글로벌 변수의 매개 변수 A가 덮어 씁니다. 이는 실행 전에 JavaScript가 사전 컴파일되고 기능 본문의 X는 전역 변수가 아닌 로컬 변수를 가리 킵니다. 현재 X는 선언되고 할당이 없으므로 정의되지 않은 x = 3입니다. 경고 (x); // x의 값은 3입니다. 그러나 로컬 변수 var x는 여전히 경고 (x)로 선언됩니다. // 로컬 변수 x의 값은 경고 (x)로 선언됩니다. // x의 값은 3} f2 ()입니다. 경고 (x); // x의 값은 함수 범위 내에 있지 않고 x의 값은 글로벌 변수의 값입니다. </스크립트>3. 글로벌 변수가 로컬 변수와 복제되면 로컬 변수의 범위는 글로벌 변수의 범위를 덮어 씁니다. 로컬 변수의 범위를 남기면 글로벌 변수의 범위로 돌아갑니다. 글로벌 변수가 로컬 변수를 만나면
글로벌 변수를 사용하는 방법은 무엇입니까? Window.globalvariableName을 사용하십시오.
<cript> var a = 1; 함수 f3 () {alert (window.a); // 비트 1, 여기 A는 전역 변수 var a = 2입니다. 경고 (a); } f3 (); 경고 (a); </script>위의 기사는 JavaScript의 글로벌 및 로컬 변수가 내가 공유 한 모든 내용입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.