먼저 코드를 보자
함수 show () {alert (ABC); } var abc = "defg"; 보여주다();C ++ 또는 Java 프로그래밍에 대한 경험이있는 사람들은 다음과 같이 말할 수 있습니다. "이 프로그램은 죽었고 변수는 변수를 참조하는 함수 후에 정의됩니다. 버그가 당신을 파괴 할 것입니다." 브라우저에서 실행하면 어떻게됩니까? 완벽하게 달리기! 다음으로, 무슨 일이 일어나고 있는지, 즉 VAR과 VAR 정의가없는 변수의 차이에 대해 이야기 해 봅시다.
1. var
간단히 말해서, 변수를 정의 할 때 Var를 생략하는 것은 안전하지 않지만 합법적입니다. 이 시점에서 변수가 어디에서 정의하든 통역사는 변수 글로벌 범위를 할당합니다.
2. var
안전하고 합법적입니다. 정의 된 변수의 범위는 정의 된 위치에 따라 다릅니다. 범위가 무엇인지에 대해서는이 블로그의 "JavaScript Scope"기사를 참조하십시오.
이런 식으로 처음에는 문제가 해결 될 수 있습니다. 함수에서 ABC의 정의는 정의되지 않은 값입니다. 현재 ABC는 글로벌 범위를 가지며 기능의 외부는 ABC 값의 업데이트 일뿐입니다.