>웹 프론트엔드 >JS 튜토리얼 >javascript_기본 지식에서 변수를 정의할 때 var와 no var의 차이점에 대한 토론

javascript_기본 지식에서 변수를 정의할 때 var와 no var의 차이점에 대한 토론

WBOY
WBOY원래의
2016-05-16 16:41:321298검색

먼저 코드를 살펴보겠습니다

function show(){ 
alert(abc); 
} 
var abc="defg"; 
show();

C 또는 Java 프로그래밍 경험이 있는 사람들은 다음과 같이 말할 수 있습니다. "이 프로그램은 종료되었습니다. 변수는 변수를 참조하는 함수 다음에 정의됩니다. 버그로 인해 브라우저에서 실행하면 결과가 어떻게 될까요?" 완벽하게 작동합니다! 다음으로, 무슨 일이 일어나고 있는지, 즉 var로 정의된 변수와 var 없이 정의된 변수의 차이점에 대해 이야기해 보겠습니다.

1. 변수 없음

간단히 말하면 변수를 정의할 때 var를 생략하는 것은 안전하지 않지만 합법적입니다. 이때 변수가 어디에 정의되어 있든 인터프리터는 변수에 전역 범위를 부여합니다.

2. 변수가 있습니다

안전하고 합법적입니다. 정의된 변수의 범위는 정의된 위치에 따라 다릅니다. 범위가 구체적으로 무엇인지에 대해서는 이 블로그의 "Javascript 범위" 기사를 참조하세요.

이렇게 하면 처음에 문제가 해결될 수 있습니다. 함수 내부에 있는 것은 abc의 정의인데 값은 정의되지 않습니다. 이때 abc는 전역 범위를 갖고 함수 외부의 것은 abc의 값만 업데이트합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.