JavaScript에서는 변수의 범위가 함수에 따라 구분됩니다. 변수는 특정 함수의 범위 내에서 유효합니다. 예:
var f = false; 🎜>if( true) { var f = true; } //이때 f는 if 내부, 즉 블록 내부에 위치하는데, 이는 여전히 전역 범위에 있는 것과 같습니다.
alert(f) / /그래서 결과는 true
또 다른 예:
var f = false;
function test() {
var f = true; //함수 내에서 정의된 변수이며 function.함수 실행 후 변수가 해제됩니다.
}
test()
alert(f) //결과는 false이며 test() 실행으로 인해 변경되지 않았습니다. 🎜>
또한, javascript에서 선언된 전역 변수는 창 객체의 속성으로 간주될 수 있습니다. 예:
var test = "this is a test"
alert(window.test == test) / /결과가 참입니다
이것은 위에서 언급한 전체적인 상황을 확인한 것 뿐입니다. 변수도 창 객체의 속성입니다
마지막으로
[코드]
를 살펴보겠습니다. function test() {
f = false;
}
test();
alert(f) //결과는 false
[html]
변수 선언 시 var(암시적 선언)을 추가하지 않으면 함수 내에서 정의하더라도 전역 변수로 간주됩니다.